"" に関する原因と対処

このコンパイルエラーの原因と対処に関して説明します。

スポンサード リンク

Microsoft Visual C++にて以下のソースでコンパイルエラーが発生します:

コンパイルエラーメッセージ:
error C2666: 'div': 3 のオーバーロード関数があいまいです。(新しい機能 ; ヘルプを参照)C:\Program Files (x86)\Windows Kits\10\include\10.0.14393.0\ucrt\stdlib.h(373): note: 'lldiv_t div(const __int64,const __int64) throw()' の可能性がありますC:\Program Files (x86)\Windows Kits\10\include\10.0.14393.0\ucrt\stdlib.h(368): note: または 'ldiv_t div(const long,const long) throw()'C:\Program Files (x86)\Windows Kits\10\include\10.0.14393.0\ucrt\stdlib.h(297): note: または 'div_t div(int,int)'

ソース(バグ有り):

#include<stdio.h>
#include<stdlib.h>

int main()
{
//計算結果を格納する div_t構造体
div_t result;

result = div(1L, 3);
printf("10 ÷ 3 = %d 余り%d\n",result.quot, result.rem);
return 0; }


原因:


対処:


ソース(修正済み):

#include<stdio.h>
#include<stdlib.h>

int main()
{
//計算結果を格納する div_t構造体
div_t result;

result = div(10, 3);
printf("10 ÷ 3 = %d 余り%d\n",result.quot, result.rem);
return 0; }

スポンサード リンク



[コンパイルエラーコード、メッセージに戻る]