У меня есть этот код (сниппет):Ошибка именования класс
for (itr = GameObjectList.begin(); itr != GameObjectList.end(); ++itr)
{
if ((*itr)->GetComponent<Light>() && (*itr)->GetComponent<Light>()->GetEnable())
{
(*itr)->GetComponent<Light>()->Render();
}
}
Ошибка в строке 3 и строке 5. Причина, название «Light», которая является составной частью моего двигателя, если я изменю имя класса Light для любого другого имени (пример «Light2»), он работает!
функция шаблона GetComponent является:
template <typename T>
T* GetComponent()
{
for(itr = CompList.begin() ; itr != CompList.end() ; ++itr)
{
if (T* type = dynamic_cast<T*>(*itr))
{
return type;
}
}
return NULL;
};
, что е #% к происходит? возможно, повреждение файла, с моими файлами cpp? я не знаю
Заранее благодарим!
EDIT:
error: no matching function for call to 'GameObject::GetComponent()'
Какое ваше сообщение об ошибке? – mstbaum
Вам нужно показать больше кода, например. вся функция содержит первый фрагмент кода. –
нет кода, потому что он отлично работает с любым другим именем, только с «Light» сбой – lightbug