0

静的関数から非静的変数を取得する方法を見つけようとしていますか?

静的関数で、非静的変数から値を取得したい。

可能です?

class test {
private:
     static void test();
     string test;
}
4

2 に答える 2

1

これは不可能です。静的メンバー関数は、静的クラス メンバーにのみアクセスできます。呼び出すことができると考えると、これも理にかなっています。

test::test();

オブジェクトをインスタンス化せずに。実際、上記のコードを実行すると、単一のクラス インスタンスすら存在しない場合があります。

静的メンバー関数から非静的クラス メンバーにアクセスする必要がある場合は、ポインターまたは参照のいずれかでクラス インスタンスを渡す必要があります。ただし、それを行っている場合は、静的メンバー関数を非静的にすることもできます。

于 2013-10-19T12:41:35.743 に答える
0

そんなことはできません。静的関数を使用すると、静的コンテキストになります。静的メンバーのみにアクセスでき、他のメンバーは存在しません。

于 2013-10-19T10:21:54.950 に答える