我正在構建用於64位的軟件,以前是爲32位構建的軟件。該軟件是完全地爲32位工作時,我建立了64位這是給像錯誤C2782:'const _Ty&std :: min(const _Ty&,const _Ty&)':template parameter'_Ty'is ambiguous
error C2782: 'const _Ty &std::min(const _Ty &,const _Ty &)' : template parameter '_Ty' is ambiguous
see declaration of 'std::min'
could be 'size_t'
or 'unsigned int'
一些錯誤行
unsigned int i = ...;
unsigned int maxPeakWidthInPixel = ...;
size_t steps = ...;
unsigned int endj = min(i + maxPeakWidthInPixel + 1, steps); // error
誤差大約是不能夠推斷類型的編譯器參數 - 但這是如何編譯32位而不是64位?
我們可以看到代碼嗎?聲明變量i,maxPeakWidth和步驟 –
這意味着你已經混合了'i',''maxPeakWidthInPixel'和'steps'類型。這些類型需要同意才能生成模板代碼 – EdChum
「maxPeakWidthInPixel」和「steps」的類型是什麼? – NathanOliver