2

这是我的代码:

#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 文件)

提前致谢

4

2 回答 2

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;

于 2013-09-26T17:04:28.453 回答
-3

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

于 2013-09-26T17:02:41.110 回答