Итак, у меня есть этот код:
Node* SceneGraph::getFirstNodeWithGroupID(const int groupID)
{
return static_cast<Node*>(mTree->getNode(groupID));
}
mTree-> getNode (groupID) возвращает PCSNode *. Узел публично получен из PCSNode.
Все документы, которые я нашел в static_cast, что-то говорят об этом: «Оператор static_cast можно использовать для таких операций, как преобразование указателя в базовый класс в указатель на производный класс».
Тем не менее, компилятор XCode (GCC) сообщает, что static_cast от PCSNode * до Node * недопустим и не разрешен.
Есть причина, почему это так? Когда я переключаю его на приведение в стиле C, компилятор не жалуется.
Спасибо.
ОБНОВЛЕНИЕ: Несмотря на то, что на вопрос был дан ответ, я опубликую ошибку компилятора для полноты на случай, если у кого-то еще возникнет такая же проблема:
ошибка: семантическая проблема: Static_cast
с 'PCSNode *' на 'Node *' не является
разрешено