以下のコードの何が問題になっていますか? dev-c++ でコンパイルしますが、次のように文句を言います。
18 E:\projects\pointer_test\main.cpp 'ptrVec = (((const std::allocator&)((const std::allocator )(&allocator()))), ((( std::vector > )operator new(12u)), (->std::vector<_Tp, _Alloc>::vector with _Tp = const char*, _Alloc = std::allocator, )))'
注意 d:\Dev-Cpp\include\c++\3.4.2\bits\vector.tcc:131 候補は: std::vector<_Tp, _Alloc>& std::vector<_Tp, _Alloc>::operator=( const std::vector<_Tp, _Alloc>&) [with _Tp = const char*, _Alloc = std::allocator]
19 E:\projects\pointer_test\main.cpp
->' has non-pointer type
std::vectorの基本オペランド21 E:\projects\pointer_test\main.cpp は
ptrVec' to
ブール値を変換できませんでした'23 E:\projects\pointer_test\main.cpp
->' has non-pointer type
std::vector の基本オペランド 24 E:\projects\pointer_test\main.cpp 'ptrVec = 0' の 'operator=' に一致しません注意 d:\Dev-Cpp\include\c++\3.4.2\bits\vector.tcc:131 候補は: std::vector<_Tp, _Alloc>& std::vector<_Tp, _Alloc>::operator=( const std::vector<_Tp, _Alloc>&) [with _Tp = const char*, _Alloc = std::allocator]
#include <cstdlib>
#include <iostream>
#include <vector>
using namespace std;
int main(int argc, char *argv[])
{
vector<const char*> ptrVec ;
ptrVec = new vector<const char*> ;
ptrVec->push_back("Hello");
if (ptrVec)
{
ptrVec->clear();
ptrVec = NULL;
}
system("PAUSE");
return EXIT_SUCCESS;
}
ベクトル内の emelemts のタイプがポインタの場合、メモリ リークの問題を回避するにはどうすればよいですか?