私は行列クラスを作成しています。固定サイズの行列を固定サイズの2倍配列にキャストできたいと考えています。しかし、私は適切なキャスト演算子を実装するのにトラブルがあります。私は、これまで実施してきた動作しません:C++:オブジェクトを配列にキャスト
template<unsigned int M, unsigned int N>
class Matrix
{
typedef double (&ArrayType)[M][N];
public:
operator ArrayType();
}
Matrix<3,3> mat1;
double matArr[3][3];
matArr = mat1;
error: incompatible types in assignment of ‘sfz::Matrix<3u, 3u>’ to ‘double [3][3]’
行列をキャストすると、明示的に別のエラーが発生します。
error: ISO C++ forbids casting to an array type ‘double [3][3]’
は私が達成したい構文を実装する方法はありませんか?
いただきましダブル(&AR)との差[3] [3]とダブルar [3] [3]? – Paranaix
@パロアニクス:最初のものは参考資料であり、2番目のものは参考ではありません。 –