私はCUDA処理のためのマトリックスクラスを作成しています。警告:コピーコンストラクタで基本クラスを明示的に初期化する必要があります
私はベクトルクラス(以後、Elements
として知られています)を書いて、それを行列ベースとして使っています。ここで
は、テンプレートの定義である:
template <typename T, std::size_t M, std::size_t N>
class Matrix : public Elements< Elements< T, N >, M > {
}
何を動的Elements
クラスで、またMatrix
クラスに割り当てられていないことに留意すべきです。
コピーコンストラクタでwarning: base class ‘struct Elements<Elements<double, 2ul>, 2ul>’ should be explicitly initialized in the copy constructor
という警告が表示されます。コピーコンストラクタは次のとおりです。
DEVICE HOST
Matrix(const Matrix & that) {
for (std::size_t ind = 0; ind < M; ind++) {
for (std::size_t jnd = 0; jnd < N; jnd++) {
(*this)[ind][jnd] = that[ind][jnd];
}
}
}
私は間違っていますか?
[警告:基本クラス「」明示的にコピーコンストラクタで初期化する必要があります]が重複する可能性(のhttp:/ /stackoverflow.com/questions/9098979/warning-base-class-a-should-be-explicitly-initialized-in-the-copy-constructor) – starsplusplus