DPCT1044#
Message#
<BaseClass1> was removed because <BaseClass2> has been deprecated in C++11. You may need to remove references to typedefs from <BaseClass1> in the class definition.
Detailed Help#
<BaseClass#> is either unary_function
or binary_function
. The std::
equivalents for these classes are deprecated, and the use of these base classes
is removed.
Suggestions to Fix#
If any of the typedef identifiers are referenced in the class definition, they should be replaced with the original template arguments.
For example, this original CUDA* code:
1 class C : thrust::unary_function<int, float> {
2 argument_type arg_data;
3 result_type result_data;
4 };
results in the following migrated SYCL* code:
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 };
which is rewritten to:
1 class C {
2 argument_type arg_data;
3 result_type result_data;
4 };