C ++不命名类型

时间:2011-05-27 14:37:42

标签: c++ types compiler-errors

当我遇到像这样的错误时,我感到很困惑

我有

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:

标题

1 个答案:

答案 0 :(得分:1)

我认为你找到了Most Vexing parse

问题在于

  

FxSmartPtr能够(FcNew,stream-&gt; StreamInObject());

可以定义名为able的函数,而不是变量。