1
當您想從C++中的類繼承時,在下面的第一行中聲明std是否是非法的?繼承自C++中的類聲明
#ifndef HWEXCEPTION_H
#define HWEXCEPTION_H
#include <stdexcept>
class HWException : public std::run_time_error
{
void testException(int num);
};
#endif
VS
using std::run_time_error
class MyClass : public run_time_error
這是假設你已經在頂部#包括。我有std :: run_time_error的編譯錯誤,但似乎沒有通過這樣做的第二種方式,並想知道爲什麼。
error C2039: 'run_time_error' : is not a member of 'std'
'run_time_error' : base class undefined
1>main.cpp
error C2039: 'run_time_error' : is not a member of 'std'
error C2504: 'run_time_error' : base class undefined
+1是否可以使用'?'?當然,但這是一個合理的問題,不應該因爲標點符號錯誤而被低估。 – andand 2010-05-13 19:19:02
@Suma「在下面第一行中聲明std是非法的」似乎是一個足夠清晰的問題,即使它缺少一個問號。 – 2010-05-13 19:19:21
如果第一個版本出現錯誤(最好是參見Neil的答案),那麼這個錯誤不在你顯示的代碼中。如果你不能解決這個問題,我建議你把十行(必要的包括和所有的,除了你所看到的錯誤以外完全編譯),我們可以將其粘貼到我們的編輯器中,並嘗試自己成爲一個新的問題,並要求幫幫我。 – sbi 2010-05-13 19:37:39