为什么这个公共成员功能"undefined"?(C++)
Why is this public member function "undefined"? (C++)
我是一个刚开始学习C++课程的学生。
在下面的代码段中,为什么我不能从main()访问公共成员函数"difference"并传入account1和account2?Error说差异是未定义的。
class BankAccount
{
public:
double difference(BankAccount account1, BankAccount account2);
private:
double balance;
double interest_rate;
double fraction(double percent);
};
int main()
{
BankAccount account1, account2;
account1.set(100, 5.0);
account2.set(203,4.0);
difference(account1, account2);
return 0;
}
void BankAccount::set(int dollars, double rate)
{
if((dollars < 0)||(rate < 0))
{
cout << "Illegal values for money or interest rate.n";
exit(1);
}
balance = dollars;
interest_rate = rate;
}
double BankAccount::difference(BankAccount account1, BankAccount account2)
{
return account1.balance - account2.balance;
}
此函数是一个非静态成员函数,因此不能像这样调用
difference(account1, account2);
您必须在类BankAccount
的实例上调用它,就像您之前在中所做的那样
account1.set(100, 5.0);
以现有方式调用它只适用于独立函数,不适用于成员函数。
相关文章:
- 我的项目不会像"undefined reference to `grpc::g_core_codegen_interface'"那样使用未定义的引用错误进行编译
- Visual Studio Code "undefined reference to `WinMain@16'"
- 使用 MATLAB 编码器生成C++代码:编译错误"undefined reference to `rgb2gray_tbb_real64'"
- "Undefined class"作为is_base_of的论据
- 为什么创建友元类的实例会导致"undefined reference to"错误?
- Tensorflow c++ api undefined reference to 'tflite::D efaultErrorReporter()'
- VSCode C/C++ Intellisense issue: Undefined identifiers (Linu
- 与卡特琳娜一起卷曲C++失败并得到"Undefined symbols for architecture x86_64"
- "Undefined symbols for architecture x86_64" 在 SDL 2 (macOS) 中
- 为什么在使用 SDL2 时仍然收到'undefined reference'链接器错误?
- 从 C 可执行文件加载动态库时收到错误C++"undefined symbol"
- 为什么即使在定义之后仍存在"Identifier is undefined error "?
- OpenCV undefined reference to 'cv::imread(cv::String const&, int)'
- 为什么当我在 C 程序中链接静态库时会"undefined symbol"?
- Vector, assign() function Undefined Behavior
- OpenCV imwrite 函数导致'undefined symbol'
- Libcurl c++ "undefined reference to" (Windows/MinGW/g++)
- 尝试使用 extern "C" 调用 C 中的C++方法,得到"undefined reference to"对象的链接器错误
- build error : undefined reference to `yyFlexLexer::yyFlexLex
- 错误说"camera is undefined",但我确实定义了它