尝试在c ++中创建实例时,“未声明的标识符”

时间:2013-09-26 17:00:43

标签: c++ identifier

这是我的代码:

#include "stdafx.h"
#include <iostream>

int main()
{
    Box *b = new Box(1,2,3);
}


class Box
{
private:
    int a;
    int b;
    int c;
public:
    Box (int aa, int bb, int cc)
    {
    a=aa;
    b=bb;
    c=cc;
    }

};

它无法编译。

(我没有将它拆分为h文件和cpp文件)

提前致谢

2 个答案:

答案 0 :(得分:2)

main放在class

之后
class Box
{
private:
    int a;
    int b;
    int c;
public:
    Box (int aa, int bb, int cc)
    {
    a=aa;
    b=bb;
    c=cc;
    }

};

int main()
{
    Box *b = new Box(1,2,3);
}

在这种情况下,顶部的前向声明class Box;将不起作用,但如果您仅使用Box* b;

,它将起作用

答案 1 :(得分:-3)

您需要在使用它的代码之上声明您的类。