C++ 如何在C+;中创建具有动态维度大小的数组+;?

C++ 如何在C+;中创建具有动态维度大小的数组+;?,c++,arrays,vector,multidimensional-array,dynamic-allocation,C++,Arrays,Vector,Multidimensional Array,Dynamic Allocation,我希望创建一个数组(或向量?)来表示一些文件 基本上,我将有一个可变数量的输入文件。每个文件的每一行都可以被视为一个自定义对象(我称它们为“符号”)。每个文件中的行数可变 所以我希望有这样的表现: 数组[x][y] 其中x将引用该文件,y将引用该文件中的行 我看过一些关于stackoverflow的主题,这些主题提出了一些类似的建议 symbol **snapShots = new symbol*[usableFiles]; for(int i = 0; i < usableFiles;

我希望创建一个数组(或向量?)来表示一些文件

基本上,我将有一个可变数量的输入文件。每个文件的每一行都可以被视为一个自定义对象(我称它们为“符号”)。每个文件中的行数可变

所以我希望有这样的表现:

数组[x][y]

其中x将引用该文件,y将引用该文件中的行

我看过一些关于stackoverflow的主题,这些主题提出了一些类似的建议

symbol **snapShots = new symbol*[usableFiles];
for(int i = 0; i < usableFiles; ++i) {
   snapShots[i] = new symbol[longestFile];
}

你知道我该怎么做吗?或者我最好先暂时将信息存储在文件中,然后再读回以进行进一步处理?

您是否考虑过使用
std::vector
std::vector
?链接器试图告诉您的是,您已经为类
symbol
声明了一个默认构造函数,但没有定义它(至少没有在链接的文件中)。

该错误特别可能意味着您没有定义默认构造函数,或者没有链接到定义。无论如何,使用std::vector,而不是双指针。这会包括一个未定义的析构函数吗?我很确定我的构造函数是正确的。它在抱怨错误中的构造函数。它需要一个链接器可以找到的主体。哦,是的,缺少默认构造函数。是的,缺少默认构造函数。不知道我怎么忽略了那一个!无论如何,谢谢!
Undefined symbols for architecture x86_64:
   "symbol::symbol()", referenced from:
       _main in MarketDataGenerator.o
ld: symbol(s) not found for architecture x86_64
collect2: ld returned 1 exit status
Info: Parallel threads used: 3