我想创建一个数组(或向量?)来表示一些文件。
基本上,我将有一个可变数量的输入文件。每个文件的每一行都可以被视为一个自定义对象(我将它们称为'符号')。每个文件中都有可变数量的行。
所以我想继续进行这种表述:
阵列[X] [Y]
其中x表示文件,y表示该文件中的行。
我在stackoverflow上看到了一些主题,这些主题在这些方面提出了一些建议
symbol **snapShots = new symbol*[usableFiles];
for(int i = 0; i < usableFiles; ++i) {
snapShots[i] = new symbol[longestFile];
}
在构建时给出了一条奇怪的错误消息:
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
我有什么想法可以解决这个问题?或者我会在读回来进行进一步处理之前将信息暂时存储在文件中?
答案 0 :(得分:4)
您是否考虑过使用std::vector<symbol>
或std::vector<std::vector<symbol> >
?您的链接器试图告诉您的是,您已为类symbol
声明了默认构造函数但未定义它(至少不在您链接的文件中)。