使用带有命名空间的枚举时遇到问题。
下面是函数调用:
object->writeMessage(tmpZone->getLineOne(), tmpZone->getLine(), tmpZone->getPosition());
编译器的问题来自
tmpZone->getLine()
Zone 类(在洞察命名空间中)的 getLine() 原型是:
Line getLine();
它返回洞察命名空间中的枚举类型。此函数调用位于 using 命名空间洞察下的 cpp 文件中;线。
编译器错误是
C:/WindRiver/workspace/SimpleTemplate/InsightLT.cpp: 在静态成员函数
static int insight::InsightLT::taskFunction(insight::InsightLT*)': C:/WindRiver/workspace/SimpleTemplate/InsightLT.cpp:161: error: no matching function for call to
insight::InsightLT::writeMessage(std::string, Line, int)' C:/WindRiver/workspace/SimpleTemplate/InsightLT.cpp:82:注意:候选人是:void insight::InsightLT::writeMessage(std::string, insight::Line, int)
我想不出为什么会这样。Zone 类也在洞察命名空间中定义。有什么想法吗?