这是我的代码:
#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文件)
提前致谢
答案 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)
您需要在使用它的代码之上声明您的类。