template <size_t M, size_t N, typename T>
class Matrix
{
public:
Matrix<M, N, T> operator +(const Matrix<M, N, T>& B) const;
template <size_t P> Matrix<M,P,T> operator*(const Matrix<N, P, T>& B) const;
template <typename T2> operator T2() const;
private:
T __x[M][N];
};
身體寫得很好,而且一切正常。當我定義兩個矩陣如下:我有一個像下面這樣的矩陣類:
Matrix < 10, 10, int> m1;
Matrix < 10, 10, float> m2;
m1 + m2; // OK
m1 * m2; // error: no match for 'operator*' in 'm1 * m2'
添加效果很好,因爲隱式轉換已在其上進行的,但由於不同的值類型的乘法,會發生錯誤。
error: no match for 'operator*' in 'm1 * m2'
有什麼想法?
這是一個PHP或MySQL的問題? – GordonM 2011-12-21 08:49:43
我是否遺漏了一些php或wtf的類? – 2011-12-21 08:58:45
您可以發佈您收到的整個錯誤消息嗎? – 2011-12-21 10:23:35