3

NULLコンストラクターを介してポインターのベクトルを初期化しようとすると、コンパイル エラーが発生しましたstd::vector。簡単にするために、命令を単純化します。

vector<int*> v (100,NULL)

(コンストラクターのパラメーター)と値 NULL の間の非互換性と関係があると思いconst T& value= T()ますが、さらに説明をいただければ幸いです。

ありがとうございました

4

2 に答える 2

6

関連する C++11 サポートがある場合は、次を使用できますnullptr

std::vector<int*> v(100, nullptr);

ただし、特定のケースでは、デフォルト値を指定する必要がないため、次で十分です。

std::vector<int*> v(100);
于 2012-06-09T12:11:49.423 に答える
1

NULLとして定義される可能性が高い0ため、最終的には

vector<int*> v(100,0);

ints ではなく s のベクトルを構築しようとしint*ます。

とにかくポインタのデフォルトであるため、NULLをスキップするか、正しいポインタ型にキャストして(int*)NULLください。

于 2012-06-09T11:42:13.853 に答える