我在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;
}
答案 0 :(得分:1)
这基本上是一个简单的错字。取代
bank.ImprtData;
与
bank.ImprtData();
调用函数。表达式bank.ImprtData
使编译器感到困惑,因为它将其解释为函数的地址,并且由于函数不是static
而发出诊断。
答案 1 :(得分:0)
bank.ImprtData;
应为bank.ImprtData();