a.cpp
const unsigned char whatever[123] = { /* ... */ };
ああ
extern const unsigned char whatever[123];
b.cpp
#include "a.h"
unsigned char x = whatever[0];
// error: undefined reference to 'whatever'
未定義の参照エラーが発生するのはなぜですか?がないとconst
、エラーはなくなります。
複数の変換ユニット間で定数の配列を共有するにはどうすればよいですか?