ホーム » 2021 » 5月 » 14

日別アーカイブ: 2021/05/14

2021年5月
 1
2345678
9101112131415
16171819202122
23242526272829
3031  

カテゴリー

アーカイブ

ブログ統計情報

  • 65,443 アクセス

std::vector::data()

今まで VC 14 リリース版などでは通っていたコード.
VC 8 でビルドした exe で,配列の要素が空の時に終了してしまう.

	MapiMessage	message ;
	memset(&message,0,sizeof(message)) ;
	message.nFileCount	= ULONG(fileDescA.size()) ;
	message.lpFiles		= &fileDescA[0] ;
	message.nRecipCount	= ULONG(recipDescA.size()) ;
	message.lpRecips	= &recipDescA[0] ;

vector subscript out of range
&fileDescA[0] で vector の先頭を参照することがうまくないみたい.
次の様に data() を使える環境ならば良さそう.

	message.nFileCount	= ULONG(fileDescA.size()) ;
	message.lpFiles		= fileDescA.data() ;

使えない場合は,空でないことを確認する必要がある?

    if (fileDescA.size() > 0) {
	message.nFileCount	= ULONG(fileDescA.size()) ;
	message.lpFiles		= &fileDescA[0] ;
	}
この投稿は役に立ちましたか? 役に立った 役に立たなかった 0 人中 0 人がこの 投稿 は役に立ったと言っています。