信息: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