信息:Microsoft Visual Studio 2012 Ultimate,Windows 8 Professional,C++。 我有一個問題...使用包含文件進行編譯時的錯誤(自有類)
QIClassStringOperations.hpp
#include "Q.hpp"
class QIClassStringOperations
{
public:
virtual void FromString(const QString& Str) = 0;
virtual QString ToString() = 0;
};
Q.hpp
#include "QString.hpp"
QString.hpp
template <typename Type> class CString
{
//...
};
typedef CString<char> QString;
編制
我有這樣的錯誤:
c:\...\QIClassStringOperations.hpp(13): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
問題這一行:
virtual void FromString(const QString& Str) = 0;
對不起,我的英語不好:)。 你能幫我嗎?
應該工作。如果你聲明你的函數是這樣的:'virtual void FromString(const CString&Str)= 0;'? 類型和類定義沒有被包裝到某些名稱空間中? –
psibar
2013-05-02 15:52:22
當我用CString替換QString時,什麼也沒有發生。每個代碼都包含在命名空間QEngine(我的小框架)中。我想可能是項目設置中的項目錯誤或錯誤。 –
Creators
2013-05-02 15:59:49
錯誤消息中的行號表明,您省略了一些代碼。錯誤是否與您粘貼的確切代碼一起發生?你可否提供一個最小的例子,不能用上面提到的錯誤信息進行編譯? – 2013-05-02 17:38:50