错误C2512:'Tile':没有合适的默认构造函数可用

Jam*_*ley 1 c++ default-constructor

即使使用默认构造函数仍然有错误.

class Foo {
    public:
    Foo ( int x, int y, int type );
}
Run Code Online (Sandbox Code Playgroud)

并在.cpp文件中

Foo::Foo ( int x = 0, int y = 0, int type = 0 ) {
Run Code Online (Sandbox Code Playgroud)

然而,当我打电话给它

Foo foo_array[5][5];
Run Code Online (Sandbox Code Playgroud)

我收到了错误.这可能是什么原因?

Pet*_*ker 6

将默认参数放在构造函数的声明中.实际上,当您尝试创建阵列时,编译器不知道它们.