2017-01-30 21 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>を繰り返す必要があります。

関連する問題