这是一个奇怪的问题,但我没有从编译器获得太多有用的信息,我想知道我做错了什么。
我有一个程序(我们只称它为'main'),其中包含一个类'world',它本身包含一个类'tile'。被包括一切正确据我可以告诉 - 我可以添加瓦片的实例作为世界的一个实例中的一员,然后(经由公共getter方法)从主访问在瓦片中的数据
当我想使用瓦片的多维阵列作为世界的一个实例中的一员,会出现问题 - 编译器崩溃,并显示有帮助信息“cc1plus.exe已停止工作”和有帮助文本“[构建错误] [main.o]错误1“。
我对瓷砖类中定义的参数的默认构造函数(和世界级的,以及虽然我不认为这是相关的。)我不知道在所有还有什么可以导致此。任何见解都会非常感激。
例: main.cpp中
#include <world.h>
world newWorld;
int main(int argc, char *argv[]){
newWorld = world();
}
world.h
#include <tile.h>
class world {
tile wmap[100][100][10]
public:
world(){
//code that calls the parametized constructor for tile for each element in the array
}
};
tile.h
class tile {
int temp;
public:
tile(){}
tile(int t){temp = t;}
};
如果答案显而易见,我道歉,这是我几年后第一次回到C ++,似乎我已经马虎了。
答案 0 :(得分:0)
对于C ++中的多维数组,在尝试使用它之前需要分配空间,在这种情况下可能使用new()。