3

いくつかのファイルを表す配列 (またはベクトル?) を作成しようとしています。

基本的に、入力ファイルの数は可変です。各ファイルの各行は、カスタム オブジェクトとして扱うことができます (それぞれを「シンボル」と呼んでいます)。各ファイルの行数は可変です。

だから私はこの種の表現を続けたいと思っています:

配列[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

これについてどうすればいいですか?それとも、さらに処理するために読み戻す前に、情報を一時的にファイルに保存する方がよいでしょうか?

4

1 に答える 1

4

またはの使用を検討しましたstd::vector<symbol>std::vector<std::vector<symbol> >?リンカが伝えようとしているのは、クラスのデフォルトコンストラクタを宣言しているが、symbol定義していないことです(少なくとも、リンクしているファイルでは定義していません)。

于 2012-12-09T20:20:06.847 に答える