NULL
コンストラクターを介してポインターのベクトルを初期化しようとすると、コンパイル エラーが発生しましたstd::vector
。簡単にするために、命令を単純化します。
vector<int*> v (100,NULL)
(コンストラクターのパラメーター)と値 NULL の間の非互換性と関係があると思いconst T& value= T()
ますが、さらに説明をいただければ幸いです。
ありがとうございました
関連する C++11 サポートがある場合は、次を使用できますnullptr
。
std::vector<int*> v(100, nullptr);
ただし、特定のケースでは、デフォルト値を指定する必要がないため、次で十分です。
std::vector<int*> v(100);
NULL
として定義される可能性が高い0
ため、最終的には
vector<int*> v(100,0);
int
s ではなく s のベクトルを構築しようとしint*
ます。
とにかくポインタのデフォルトであるため、NULLをスキップするか、正しいポインタ型にキャストして(int*)NULL
ください。