C ++编译错误

时间:2017-11-30 08:14:17

标签: c++ compilation

我在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;
}

2 个答案:

答案 0 :(得分:1)

这基本上是一个简单的错字。取代

bank.ImprtData;

bank.ImprtData();

调用函数。表达式bank.ImprtData使编译器感到困惑,因为它将其解释为函数的地址,并且由于函数不是static而发出诊断。

答案 1 :(得分:0)

bank.ImprtData;应为bank.ImprtData();