作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在编译我的 C++ 代码时偶然发现了这个错误。这是我的代码:
#include<iostream>
#include<iomanip>
using namespace std;
class SavingsAccount
{
private:
static float annualInterestRate;
float savingBalance;
public:
float calculateMonthlyInterest()
{return savingBalance+=(savingBalance*annualInterestRate)/12;}//adding the interest to savingBalance
static void modifyInterestRate(float r)
{annualInterestRate=r;}//modify the annualInterestRate
SavingsAccount(float saving)//constructor with argument to set savingValue
{savingBalance=saving;}
};
int main()
{
SavingsAccount saver1(2000.00), saver2(3000.00);//instantiate 2 different SavingsAccount object
SavingsAccount::modifyInterestRate(0.03);//set new interest to 3%
//printing savers' new balance after 3% interest applied
cout<<"THIS MONTH (3% INTEREST) :\n";
cout<<fixed<<setprecision(2)<<"Saver 1 balance : RM "<<saver1.calculateMonthlyInterest();
cout<<"\nSaver 2 balance : RM "<<saver2.calculateMonthlyInterest();
SavingsAccount::modifyInterestRate(0.04);//set new interest to 4%
//printing savers' new balance after 4% interest applied
cout<<"\n\nNEXT MONTH (4% INTEREST) :\n";
cout<<"Saver 1 balance : RM "<<saver1.calculateMonthlyInterest();
cout<<"\nSaver 2 balance : RM "<<saver2.calculateMonthlyInterest();
return 0;
完整的错误信息:C:\Users\NURULA~1\AppData\Local\Temp\ccOIgGs2.o 类练习 3 no 1 ver 2.cpp:(.rdata$.refptr._ZN14SavingsAccount18annualInterestRateE[.refptr._ZN14SavingsAccount18annualInterestRateE]+0x0): undefined reference ` SavingsAccount::annualInterestRate'
这个问题并没有要求制作一个构造函数,但我做了一个,假设我需要初始化余额值,但我有点感觉这就是导致问题和错误消息的原因。我对吗? ....还是错误的?
先谢谢你。
最佳答案
您需要在某处定义 annualInterestRate
变量,其中:
float SavingsAccount::annualInterestRate;
静态变量就像全局变量;它们有单独的声明和定义。
关于c++ - 对 `SavingsAccount::annualInterestRate' 的 undefined reference ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36464919/
我在编译我的 C++ 代码时偶然发现了这个错误。这是我的代码: #include #include using namespace std; class SavingsAccount { privat
我是一名优秀的程序员,十分优秀!