g++で再現される問題があります。VC++は問題を満たしていません。だから私は2つのcppファイルを持っています:
1.cpp:
#include <string>
#include <iostream>
extern const std::string QWERTY;
int main()
{
std::cout << QWERTY.c_str() << std::endl;
}
2.cpp:
#include <string>
const std::string QWERTY("qwerty");
魔法はありません。文字列定数を別のファイルに配置したいだけです。リンク時にldはエラーを生成します: "`_QWERTY'への未定義の参照"両方の宣言を"extern"C""にラップする最初の考え-助けにはなりませんでした。エラーと非c++_QWERTYはまだあります。
提案を事前に感謝します