2つの行列クラスがあるとしましょう。1つの行列は2x2で、もう1つは3 x 3です。次に、それらを乗算します。もちろん、同じ次元を持たない2つの行列を乗算することはできません。
ランタイムチェックを組み込むことができることは知っていますが、c ++言語を使用してコンパイル時チェックを組み込む方法はありますか?したがって、異なる次元の2つの定義された行列が乗算されるプログラムをコンパイルしようとすると、コンパイル時エラーが発生します。
Matrix *matrix1 = new Matrix(2,2);
Matrix *matrix2 = new Matrix(3,3);
Matrix_Multiply(matrix1,matrix2); // compiler throws error on this line
また、このトピックについて話している間、この機能を備えたプログラミング言語はありますか?