列号相等的模板矩阵

时间:2012-11-29 15:51:29

标签: c++ templates

我有一个功课,告诉我们为矩阵创建一个模板,其中matrix1的列号等于第2列的行号

我试过了:

 #define TEMPLATEMATRIXCR template<class T, int , int > 
 TEMPLATEMATRIXCR Matrix<T, R> operator* (Matrix<T, int, R> a, Matrix<T, R, int> b);

它不起作用,例如

矩阵[10] [30]
矩阵[20] [10]
所以我需要[20] [30]的矩阵; //抱歉,如果我的逻辑混乱了。 它告诉我E没有定义。

在我做的第一时间

TEMPLATEMATRIX Matrix<T, C, R> operator* (Matrix<T, C, R> a, Matrix<T,R, C> b);

但这不是他想要的,所以现在我不能只修复2个数字并使其他人“免费”

我怎样才能使用模板?

1 个答案:

答案 0 :(得分:1)

我可能没有得到你所要求的东西,但这最终不是你想要做的吗?

template<typename T, size_t R1, size_t C1, size_t R2>
Matrix<T, R2, C1> operator *(const Matrix<T, R1, C1>&, const Matrix<T, R2, R1>&);

或者你是否试图以编程方式使C1和R2任意?