DPCT1044
目次
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 };