如何修复此错误表达式必须具有类类型和C228?

时间:2016-08-27 08:33:38

标签: c++

我是C ++的新手。我试图从我的Java Book中编写示例代码来练习C ++。

这里是源代码:

#include <iostream>
using namespace std;

void tampilkanMatriks(int matriks[3][2]);
void tampilkanMatriks(int matriks[3][2])
{
    int jumBaris = matriks.length;
    int jumKolom = matriks[0].length;

    for (int i = 0; i < jumBaris; i++)
    {
        for (int j = 0; j < jumKolom; j++)
            printf("%4d", matriks[i][j]);

        cout << endl;
    }
}

int main()
{
    int mat[3][2];

    mat[0][0] = 70;
    mat[0][1] = 80;

    mat[1][0] = 64;
    mat[1][1] = 55;

    mat[2][0] = 76;
    mat[2][1] = 72;

    tampilkanMatriks(mat);

    system("pause");
    return 0;
}

错误:表达式必须在第7行中具有类类型,表达式必须在第8行中具有类类型,在第7行和第8行中具有C2228错误。

2 个答案:

答案 0 :(得分:0)

不,抱歉。与Java不同,你不需要像这样询问数组的长度:

int jumBaris = matriks.length;
int jumKolom = matriks[0].length;

您必须提前知道自己的长度。 Google用于“C中的阵列” - 大量的地方。

答案 1 :(得分:0)

Arrays不是类对象。 matriks.length无效。 .运算符用于classstruct。由于您拥有hard typed数组的维度,因此您始终可以使用它们来遍历数组。虽然这不是一个好的解决方案。通常,当您处理数组时,最好传递一个与数组大小相对应的额外参数。如果您需要使用class std::vector