我覺得我在這個東西的理論背景中錯過了思考。我知道有類似的帖子,但我仍然沒有得到它。將參考文獻的左值設爲
我有這樣的代碼:
void somefunc1(Word &Key)
{
somefunc2(Key);
}
void somefunc2(char &char1)
{
return;
}
編譯器生成我一個錯誤這裏:
somefunc2(Key);
[BCC32錯誤] Unit1.cpp(830):E2357參考與「無符號短初始化',需要類型爲'char'的左值
我發現這是因爲ANSI C++處理臨時對象的規則和2003但我仍然沒有得到這裏的錯誤。
當我做C語言風格轉換:
somefunc2(*(char*)&Key)
它解決的問題。
任何人都可以提示我什麼是錯的,爲什麼錯了?
請提供完整的C++代碼。你提供的代碼應該聲明一個函數,但錯過了返回類型。一個完整的,應該工作的C++代碼片段將會幫助你更好,我想 – 2009-09-05 03:10:16
對不起,它是星期五晚上。我會在第二時間解決。 – Andrew 2009-09-05 03:14:10
什麼是'Word'?它是整數類型還是對象? – strager 2009-09-05 04:13:16