为什么这个C ++程序给我错误:

#include <iostream>
using namespace std;

int main (){
    NumbersClass num;
    num.setNumbers(1);
}

class NumbersClass
    {
    public:
        NumbersClass() {}
        void setNumbers(int i) { }
    };


这是我的错误:

taskbcplus.cpp(7): error C2065: 'NumbersClass' : undeclared identifier
taskbcplus.cpp(7): error C2146: syntax error : missing ';' before identifier 'num'
taskbcplus.cpp(7): error C2065: 'num' : undeclared identifier
taskbcplus.cpp(9): error C2065: 'num' : undeclared identifier
taskbcplus.cpp(9): error C2228: left of '.setNumbers' must have class/struct/union
1>          type is ''unknown-type''

最佳答案

您需要将NumberClass定义放在首次实例化它的位置之前,即main之前。

class NumbersClass
{
public:
    NumbersClass() {}
    void setNumbers(int i) { }
};

int main (){
    NumbersClass num;
    num.setNumbers(1);
}

关于c++ - 程序编译中的C++错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19773089/

10-13 03:13