当我遇到像这样的错误时,我感到很困惑
我有
FxSmartPtr<FxStreamable> able(FcNew,stream->StreamInObject());
FxGlobalPair pair(id,able);
我在FxGlobalPair pair(id,able);
able is not a type
收到错误。
我尝试修改为
FxGlobalPair pair(id,FxSmartPtr<FxStreamable>::able);
但我收到的错误是error: 'class FxSmartPtr<FxStreamable>::able' has not been declared
我错过了什么概念?
更新:typedef pair<FxID, FxSmartPtr<FxStreamable> > FxGlobalPair;
更新2:
答案 0 :(得分:1)
我认为你找到了Most Vexing parse
问题在于
FxSmartPtr能够(FcNew,stream-&gt; StreamInObject());
可以定义名为able的函数,而不是变量。