va_list的錯誤一般形實轉換代碼失敗,這是我的課:C++:對方法
class ControlBoard : public ILCD
{
virtual void print(const GFX_STRING &string, ...);
// ...
這是我的接口:
class ILCD
{
virtual void print(const GFX_STRING &string, ...) = 0;
// ...
這是我的方法:
void ControlBoard::print(const GFX_STRING &string, ...)
{
va_list args;
va_start(args, string);
// ...
va_end(args);
}
這是編譯錯誤:
error: generic thunk code fails for method 'virtual void ControlBoard::print(const GFX_STRING&, ...)' which uses '...'
如果方法「print()」不在我的ILCD接口中,編譯就沒有問題。但我需要添加它,所以我不明白爲什麼會出現此錯誤?
非常感謝!
變化'&string'爲'* string' – 2014-12-05 21:08:20
@ bruno.karklis:沒有影響! – anthony 2014-12-05 21:12:15
儘管使用引用類型作爲最後命名的參數確實無效,但這裏的問題完全不同。這僅僅是編譯器代碼生成的某些部分沒有完全針對特定平臺實現的例子。快速搜索該錯誤消息會提供解釋。編譯器品牌(可能是GCC),版本和平臺將成爲幫助您獲得可用解決方法的相關信息。 – hvd 2014-12-05 22:50:15