「VC PlusPlus:C6387'xxxx'は'0'である可能性があります。修正方法」の版間の差分

提供:yonewiki
(ページの作成:「== '''概要''' ==  C6387'xxxx'は'0'である可能性があります。という警告が表示されることがあります。  例えば以下のようなコードだと表示されます。 <syntaxhighlight lang="cpp" line start="1"> … if (lpinet->hInternet = InternetOpen(L"myftp01", INTERNET_OPEN_TYPE_DIRECT, NULL, NULL, 0); if (lpinet->hInternet == NULL) { MessageBox(hWnd, L"インターネットを開けません", L"失敗",…」)
 
編集の要約なし
 
1行目: 1行目:
[[VC_PlusPlus#記事|VC Cpp記事]]に戻る。
== '''概要''' ==
== '''概要''' ==
 C6387'xxxx'は'0'である可能性があります。という警告が表示されることがあります。
 C6387'xxxx'は'0'である可能性があります。という警告が表示されることがあります。
48行目: 50行目:


 これで0のときは何もしないという処理になったわけです。こういうあり得ないことまでちくちく警告してくるのが、今のVisualStudioなのです。どうしろといっているのかを知るのはいいことですね。警告を無視しても問題ないし、警告潰しの方法をしっているのはいいことです。むしろ、知っている方がVisualStduioの上をいっているということですし、常に高みを目指すのは大事なことですね。
 これで0のときは何もしないという処理になったわけです。こういうあり得ないことまでちくちく警告してくるのが、今のVisualStudioなのです。どうしろといっているのかを知るのはいいことですね。警告を無視しても問題ないし、警告潰しの方法をしっているのはいいことです。むしろ、知っている方がVisualStduioの上をいっているということですし、常に高みを目指すのは大事なことですね。
 
[[VC_PlusPlus#記事|VC Cpp記事]]に戻る。

2023年10月15日 (日) 21:29時点における最新版

VC Cpp記事に戻る。

概要

 C6387'xxxx'は'0'である可能性があります。という警告が表示されることがあります。


 例えば以下のようなコードだと表示されます。


	if (lpinet->hInternet = InternetOpen(L"myftp01",
		INTERNET_OPEN_TYPE_DIRECT,
		NULL,
		NULL,
		0);

	if (lpinet->hInternet == NULL) {
		MessageBox(hWnd,
			L"インターネットを開けません",
			L"失敗",
			MB_OK);
		InternetCloseHandle(lpinet->hInternet);
		return FALSE;
	}

上記だと、NULLならちゃんとエラーにするとしていますが、0でもInternetCloseHandle(lpinet->hInternet)を実行してしまうじゃないかという警告です。成功ならハンドル値に整数の値が格納されるし、失敗なら、NULLという決まりなので、0になることはないですが、もし0のままならInternetCloseHandleを実行してしまうことになるので、よくないということを言っています。つまりあり得ないことを想定して警告していますので、無視しても良さそうですが、礼儀にしたがって書くなら以下のようにする必要があります。



	if (lpinet->hInternet = InternetOpen(L"myftp01",
		INTERNET_OPEN_TYPE_DIRECT,
		NULL,
		NULL,
		0)) {

		if (lpinet->hInternet == NULL) {
			MessageBox(hWnd,
				L"インターネットを開けません",
				L"失敗",
				MB_OK);
			InternetCloseHandle(lpinet->hInternet);
			return FALSE;
		}
	}


 これで0のときは何もしないという処理になったわけです。こういうあり得ないことまでちくちく警告してくるのが、今のVisualStudioなのです。どうしろといっているのかを知るのはいいことですね。警告を無視しても問題ないし、警告潰しの方法をしっているのはいいことです。むしろ、知っている方がVisualStduioの上をいっているということですし、常に高みを目指すのは大事なことですね。

 

VC Cpp記事に戻る。