2017-11-08 14 views
-1

私は共有ライブラリを作成したいと思っています。 私は静的メソッドの完全なクラスを持っています。静的メソッドでは静的変数を呼び出すことができるので、静的変数も作成できます。静的メソッドの静的変数

class TryClass{ 
    public: 
     static void method0(string s); 
     static void method1(); 
     static void method2(); 
    private: 
     static string name; 
}; 

method1method2method0にsetted、文字列名を共有する必要があります。

string TryClass::name= "filename"; 

が、私はmethod0方法でそれをinitilizeする必要があります。問題は、私は、このように、(ソースファイル内の)私のクラスの外に列名を初期化する必要があるということです。 これを達成する方法はありますか?

+3

何が問題なのか明確ではありません。あなたはcppで初期化しなければなりませんが、 'method0'は新しい値を割り当てることができます – user463035818

+1

' method0'を実行したときに既に初期化されているものをゴミ箱に入れられないのはなぜですか? – Bathsheba

+1

上記はコンパイルされません。戻り値の型がありません。 – lorro

答えて

2

まず、コードを修正し、クラスでこれを試してみてください。

static void method0(string s) 
{ 
    TryClass::name = "hello"; 
} 

だから、あなたは簡単にmethod1method2に文字列名を共有することができます。

+0

については、 'string'ではなく' void'の戻り値型を参照してください。 – user463035818

関連する問題