使用包含文件进行编译时出错(自有类)

时间:2013-05-02 15:06:35

标签: c++ class compilation include

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

抱歉我的英语不好:)。 你能救我吗?

2 个答案:

答案 0 :(得分:0)

看起来QString未被识别为类型? 你在哪里声明QString?

答案 1 :(得分:0)

您应该在 Q.hpp 中包含 #include“QString.hpp”,其中您声明了类QIClassStringOperations,因为它应该知道QString是什么。否则编译器会出错。

有关详细信息,请访问:http://msdn.microsoft.com/en-us/library/ms173696.aspx