C ++ не называет тип - PullRequest
       292

C ++ не называет тип

0 голосов
/ 27 мая 2011

Я запутываюсь, когда получаю подобные ошибки

У меня есть

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 Ответ

1 голос
/ 24 ноября 2011

Я думаю, что вы нашли Most Vexing parse

Проблема в том, что

FxSmartPtr способен (FcNew, stream-> StreamInObject ());

может определять функцию с именем able вместо переменной.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...