ng-repeat="data in record | dateRange : 'invoice_date' : from : to"
抛出以下错误
错误:对'binary_function'的引用是不明确的prog18.cpp:38:34: 错误:'<'标记类cmplxData之前的预期模板名称: binary_function {
之前的非限定标识
^ prog18.cpp:38:34:错误:预期'{'在'<'标记之前prog18.cpp:38:34:错误:预期 '<'标记
答案 0 :(得分:2)
好的,鉴于评论中的信息,您正在做两件事:
您在某处包含了一个包含std::binary_function
您也是using namespace std
这会导致歧义,因为编译器无法区分您的binary_function
和std::binary_function
,现在也可以像binary_function
那样进行调用。这就是您不应该使用using namespace anywhere
!
修复方法是将cmplxData
的类声明重写为
class cmplxData : ::binary_function<double, double, int>{
这样您就可以::binary_function
使用::std::binary_function
而不是binary_function
,并消除歧义。您正在显式调用在全局命名空间中声明的const enum
。
答案 1 :(得分:1)
您的班级模板binary_function
会产生歧义,因为它已在std中定义,std::binary_function
您可以在另一个命名空间中添加自定义binary_function
,使用完全限定名称空间,或只使用std::binary_function
定义。