次のように、文字列の配列をベクトルにプッシュしようとしています。
string []URL = {"www.facebook.com","www.orkut.com","www.yahoo.com"};
Int32 result = URL.Length;
SetPolicyURL( URL,result);
SetPolicyURL( char * URLpolicy[], __int32 noURL)
{
__int32 i = 0;
while ( i< noURL)
{
char buf[2512] = {0};
URLvector.push_back(URLpolicy[i]);
sprintf( buf," noURL = %d URLpolicy[%d] = %s URLvector[%d] = %s", noURL, i,URLpolicy[i] ,i, URLvector.at(i).c_str());
MessageBoxA(NULL, buf , 0, MB_ICONERROR);
++i;
}
}
しかし、ベクトルの要素を表示しようとすると、最初の配列要素が 2 回しか取得されず、配列の 2 番目の要素が 3 番目の位置に表示されます。なぜこれが起こっているのかわかりません。