C++ 不明白我为什么会有这样的问题:';{';:未找到匹配的令牌 模板 类矩阵 { 私人: T**m_iArr; int size_行; int size_col; 公众: 矩阵(); 矩阵(int size\u row\u BuUser,int size\u col\u BuUser); int count(); }; 模板 矩阵::矩阵() { 大小_col=0; 大小_行=0; m_iArr=新T*[尺寸行]; 对于(int i=0;i

C++ 不明白我为什么会有这样的问题:';{';:未找到匹配的令牌 模板 类矩阵 { 私人: T**m_iArr; int size_行; int size_col; 公众: 矩阵(); 矩阵(int size\u row\u BuUser,int size\u col\u BuUser); int count(); }; 模板 矩阵::矩阵() { 大小_col=0; 大小_行=0; m_iArr=新T*[尺寸行]; 对于(int i=0;i,c++,templates,C++,Templates,您缺少一个右括号 if(m_iArr[i][j]if(mu iArr[i][j])(未匹配的括号)?这些拼写错误很难识别,尤其是当你自己做的时候。当真正神秘的事情发生时,我会做什么:使用一个编辑器,可以显示匹配的括号,检查从神秘的地方向外移动的每一个括号。或者从零开始,从空开始,一次添加一个类,编译。再添加一些代码,compile.Rep直到错误发生为止。不,有一个开始的括号太多;-)我认为这是一个选择问题。不需要括号不同于使用它们来直观地澄清代码。哈哈,我一开始并没有理解这个笑话。@molbd

您缺少一个右括号

if(m_iArr[i][j]<(m_iArr[i][j-1])

应该是:


if(mu iArr[i][j])

Typo?
if(mu iArr[i][j-1])
->
if(mu iArr[i][j])
(未匹配的括号
)?这些拼写错误很难识别,尤其是当你自己做的时候。当真正神秘的事情发生时,我会做什么:使用一个编辑器,可以显示匹配的括号,检查从神秘的地方向外移动的每一个括号。或者从零开始,从空开始,一次添加一个类,编译。再添加一些代码,compile.Rep直到错误发生为止。不,有一个开始的括号太多;-)我认为这是一个选择问题。不需要括号不同于使用它们来直观地澄清代码。哈哈,我一开始并没有理解这个笑话。@molbdnilo
template<class T>
class Matrix
{
private:
    T** m_iArr;
    int size_row;
    int size_col;
public:
    Matrix();
    Matrix(int size_row_BuUser, int size_col_BuUser);
    int count();
};
template <class T>
Matrix<T>::Matrix()
{
    size_col = 0;
    size_row = 0;
    m_iArr = new T * [size_row];
    for (int i = 0; i < size_row; i++)
    {
        m_iArr[i] = new T[size_col];
        for (int j = 0; j < size_col; j++)
        {
            m_iArr[i][j] = 0;
        }
    }
}
template <class T>
Matrix<T>::Matrix(int size_row_BuUser, int size_col_BuUser)
{
    size_row = size_col_BuUser;
    size_col = size_row_BuUser;
    m_iArr = new T * [size_row];
    for (int i = 0; i < size_row; i++)
    {
        m_iArr[i] = new T[size_col];
        for (int j = 0; j < size_col; j++)
        {
            m_iArr[i][j] = 0;
        }
    }
    cout << "Matrix for random enter - 1\nMatrix for user enter -2" << endl << "Please enter:";
    int l = 1;
    cin >> l;
    switch (l)
    {
    case 1:
        for (int i = 0; i < size_row; i++)
            for (int j = 0; j < size_col; j++)
            {
                m_iArr[i][j] = rand() % 99;
            }
        break;
    case 2:
        for (int i = 0; i < size_row; i++)
            for (int j = 0; j < size_col; j++)
            {
                cout << "a[" << i << "]" << "[" << j << "]" << "=";
                cin >> m_iArr[i][j];
            }
        break;
    }
}
template<class T>
int Matrix<T>::count()
{
    int count = 0;
    for (int i = 0; i < size_row; i++)
        for (int j = 0; j < size_col; j++)
        {
            if (m_iArr[i][j] < (m_iArr[i][j - 1])  **line 74**
            {
                break;
            }
            else if (j == n - 1)
            {
                count++;
            }
        }
    cout << count << endl;
        return count;
}