DPCT1044#

メッセージ#

<BaseClass2> が C++11 で非推奨になったため、<BaseClass1> は削除されました。クラス定義で、<BaseClass1> から型定義 (typedef) への参照を削除する必要があります。

詳細な説明#

<BaseClass#> は、unary_function または binary_function のいずれかです。これらのクラスに相当する std:: は廃止され、これらの基本クラスの使用は削除されています。

修正方法の提案

クラス定義で型定義識別子が参照されている場合、オリジナルのテンプレート引数に置き換える必要があります。

例えば、以下のオリジナル CUDA* コードについて考えてみます。

1   class C : thrust::unary_function<int, float> { 
2     argument_type arg_data; 
3     result_type result_data; 
4   };

このコードは、以下の SYCL* コードに移行されます。

1   /* 
2   DPCT1044:0: thrust::unary_function was removed because std::unary_function has 
3   been deprecated in C++11.You may need to remove references to typedefs from 
4   thrust::unary_function in the class definition.
5   */ 
6   class C { 
7     argument_type arg_data; 
8     result_type result_data; 
9   };

このコードは次のように書き換えられます。

1   class C { 
2     argument_type arg_data; 
3     result_type result_data; 
4   };