【发布时间】:2012-07-27 12:40:03
【问题描述】:
在我的代码中,我遇到了 37 个相同类型的错误 c2678; binary 'operator' : 没有定义接受 'type' 类型左侧操作数的运算符(或者没有可接受的转换)
我试图通过重载 == 运算符,包括 STL“实用程序”来消除错误。 http://msdn.microsoft.com/en-us/library/86s69hwc(v=vs.80).aspx http://en.wikibooks.org/wiki/C%2B%2B_Programming/Operators/Operator_Overloading
但这仍然不起作用。任何帮助表示赞赏。
【问题讨论】:
-
如何包含标头应该为您的类型重载运算符?
-
我们至少需要看到正在破坏的代码。
-
@yurikilochek:见
<boost/operators.hpp>。 -
@BoBTFish 这样吗?包含此标头不会神奇地为您的操作员提供重载。你必须从 boost::operators
继承,即使那样你也必须提供基本的,以便其他的可以按照他们的方式实现。
标签: c++ visual-studio-2010 visual-studio visual-c++