在编译我的项目时,我得到一个 multiple definition of operator<<
来自编译器的错误。
inline QDataStream &operator<<(QDataStream &out, ValueCountPair const &pair)
{
out << pair.value() << pair.count();
return out;
}
我已经检查过,这个特定的运算符在我的整个代码库中只声明和/或定义了一次。为什么说我有多个定义?
最佳答案
尝试这样做:
- 点击构建 -> 清理项目“YourProject”清理你的项目
- 重建
我遇到了同样的问题,我认为 moc
以某种方式在某处保留了我的代码的多个拷贝,从而导致错误。当您清理并重建项目时,它会删除 qmake
和 moc
过程创建的所有元代码,从而清除错误。
这是 Qt 的一个错误。
关于c++ - Qt项目中operator<<的多重定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17865851/