クラス定義の下でテンプレートクラスctorのインライン定義を作成しようとしています(私は内部で行うことができますが、ヘッダーファイルの外で行うことをお勧めします)。しかし、MSVCはMatrix
にctor定義のテンプレート引数リストが必要であることを私に伝えています。クラス内の関数を定義することで簡単に解決できますが(まだインライン展開されています)、審美的理由。これを解決する方法はありますか?テンプレートクラス定義の下でインライン関数を定義する
// .hpp
#pragma once
template <typename T, size_t rows, size_t cols>
class Matrix {
private:
constexpr size_t m_size = rows * cols;
std::array<T, m_size> m_arr;
public:
__forceinline Matrix();
};
Matrix::Matrix() : m_arr() { // this gives errors
// do ctor stuff
}