1. ホーム
  2. c++

[解決済み】C++で文字列定数を定義するには?[重複している]

2022-02-15 17:59:16

質問

<ブロッククオート

重複の可能性があります。
C++の静的定数文字列(クラスメンバ)
static const C++ クラスメンバが初期化されると、リンク時に重複シンボルエラーが発生します。

私のC++の経験は、文字列クラスが追加される以前のものなので、ある意味、やり直しです。

私は自分のクラスのヘッダーファイルを定義しており、urlの静的定数を作りたいと思っています。私は次のようにすることでこれを試みています。

#include <string>
class MainController{
private:
    static const std::string SOME_URL;
}

const std::string MainController::SOME_URL = "www.google.com";

しかし、これではリンク時に定義が重複してしまいます。

どうすればいいのでしょうか?

どのように解決するのですか?

を移動させます。

const std::string MainController::SOME_URL = "www.google.com";

を cpp ファイルに追加してください。 ヘッダに記述すると、それを含むすべての.cppがコピーを持つことになり、リンク時に重複したシンボルエラーが発生します。