A.cppファイル中で
extern const TEISU=10;
B.cppファイル中で
extern const TEISU;
int HAIRETSU[TEISU];
とすると、配列の添え字TEISUが定数とみなされず、エラーとなります。
(TEISUを1や2の整数に変えるとうまくいきます)
また、B.cppファイル中の別の部分ではTEISUは10として使えます。
case TEISU でも同じエラーが起こります。
これはなぜでしょうか?
また対策は何でしょうか?
よろしくおねがいします。
constオブジェクトを定数式として扱えるのは,
そのオブジェクトが定義された翻訳単位のみだからです。
そもそも,TEISUをわざわざexternする必要があるのですか?
どっかのヘッダファイルに,
const int TEISU = 10;
と書いておけばよいだけでは?
そのやり方でやります。ありがとうございました。
ツイート | ![]() |