我正在开发游戏,但是我对关卡的初始化有问题.(feld只是德语字段)
class level{
private:
feld spielfeld[10][10];
public:
/*
other stuff
*/
void init_feld();
};
void level::init_feld()
{
for(int i=0;i!=10;i++){
for(int n=0;n!=10;n++){
spielfeld[i][n] = new feld(land, i, n);
}
}
}
Run Code Online (Sandbox Code Playgroud)
错误:
错误:不对应的»操作员=«在»((水平*)此) - >级::施皮尔费尔德[I] [N] =(操作者新的(24U),(((费尔德*))))«/家用/尼克/西洋陆军棋/ feld.h:18:11:
备注:候选者是:feld&feld :: operator =(const feld&)进程终止,状态为1(0分,0秒)2个错误,0个警告
spielfeld[i][n]是一个feld对象,new feld(land, i, n)动态分配一个new feld对象并返回一个指向该对象的指针.如果要分配给某个feld值,spielfeld[i][n]可以使用:
spielfeld[i][n] = feld(land, i, n);
Run Code Online (Sandbox Code Playgroud)
或者,您可以spielfeld[i][n]直接设置适当的成员或使用其他成员函数.