後でライブラリで使用するために、すべての定数変数を定義するヘッダー (のみ) ファイル constants.h があります。ただし、実装ファイルでランタイムを定義したい変数が 1 つあります。私はこのようなことをしようとしました:
定数.hpp
extern const unsigned int numTests;
run.cpp の別の場所
const unsigned int numTests = 10;
そして、さらに別のファイル tester.cpp が使用します
if ( n < numTests) {
// do something
}
これをコンパイルすると、未定義シンボル numTests として tester.o でリンカー エラーが発生します。なぜこれが起こっているのか理解できます.tester.cppにはrun.cppではなくconstants.hppが含まれているため、run.cppで初期化された定数numTestsを見つけることができません。
それを行うより良い方法はありますか?
ティア、ニキル