2017-01-30 3 views
-1

Привет, Я пытаюсь создать статический метод для проверки нулевых указателей в Unreal Engine.Общий статический метод

.h файл

template<typename T> 
    static bool checkForNull(T pointer); 

.cpp файл

bool MyClass::checkForNull(T pointer) 
{ 
    { 
     if (!pointer) { 
      printlog(FString("Your pointer is null")); //Another static function for printing 
      return false; 
     } 
     else { 
      return true; 
     } 
    } 
} 

Но я также новичок в C++, и я думаю, что есть ошибка синтаксиса в моем коде? Как создать статический общий метод?

+1

Если есть синтаксическая ошибка, появляется сообщение об ошибке, которое мы с удовольствием прочитаем. – Downvoter

+0

Вопросы, связанные с поиском справки по отладке («** почему этот код не работает? **)) должны включать в себя желаемое поведение, конкретную проблему или ошибку и кратчайший код, необходимый для его воспроизведения ** в самом вопросе **. Вопросы без ** ясного заявления о проблеме ** не полезны для других читателей. См. [Как создать минимальный, завершенный и проверяемый пример] (http://stackoverflow.com/help/mcve). – Biffen

+2

Используйте параметр 'T *' вместо того, чтобы принудительно передавать указатели, а не произвольные объекты. – Downvoter

ответ

1

Проблема заключается в том, что вы должны поместить код для вашего метода шаблона в заголовок, чтобы при включении заголовка, чтобы инициировать шаблон, компилятор мог бы создать соответствующий код из шаблона. Вы также должны повторить template <class T> перед определением.

Смежные вопросы