我在使用类的 C++ 中遇到编译错误。我以前使用过类,但从未遇到过此错误。我尝试在方法 ImprtData
之前添加静态,但这只会提示更多错误。
error: invalid use of non-static member function bank.ImprtData;
这是我的.cpp
#include "componets.h"
User::User() {
std::cout << "loaded" << std::endl;
}
void User::ImprtData() {
std::cout << "loaded.\n";
}
这是我的.h
#include <sstream>
#include <fstream>
#include <vector>
#include <iostream>
#include <string>
class User {
public:
User();
void write();
void launch_main_menu();
void login();
void ImprtData();
private:
void deposit();
void withdrawl();
std::string account_name;
int account_pin;
float account_balance;
std::string account_user_name;
};
最后是我的主
#include "componets.h"
int main() {
std::cout << "Welcome to Bank 111.\n";
User bank;
bank.ImprtData;
return 0;
}
最佳答案
这本质上是一个简单的错字。替换
bank.ImprtData;
与
bank.ImprtData();
调用函数。表达式 bank.ImprtData
混淆了编译器,因为它将它解释为函数的地址,并发出诊断,因为函数不是 static
。
关于C++编译错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47568712/