我有以下非常简单的类(class):

#ifndef SLAVECALIBRATIONGRAB
#define SLAVECALIBRATIONGRAB

#include <stdint.h>

class SlaveCalibrationGrab{
public:
    SlaveCalibrationGrab() : data(0) {}
    SlaveCalibrationGrab(int data_) : data(data_){}

    SlaveCalibrationGrab(const SlaveCalibrationGrab& other){
        data = other.data;
    }


    ~SlaveCalibrationGrab(){}

private:
   int data;
};

Q_DECLARE_METATYPE(SlaveCalibrationGrab);

#endif

这将引发以下错误:
C4430: missing type specifier - int assumed. Note: C++ does not support default-int

有人知道我在做什么错吗?

最佳答案

我假设您正在谈论Qt的Q_DECALRE_METATYPE?那是在#include <QMetaType>中定义的。添加包括。这是文档的链接:Qt5.5 QMetaType
从文档引用:

关于c++ - Q_DECLARE_METATYPE引发缺少类型说明符错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35939581/

10-12 04:35