wdkbook 2019-09-13 21:09 采纳率: 100%
浏览 332
已采纳

C++为什么不支持复合文字,因为不好跨类调用?

#include

#define COLS 4

int main()
{
int total;
int(*pt)[COLS];
pt = (int[2][COLS]) { {1, 2, 3, 4}, { 5,6,7,8 } };
total = sum(pt, 2);
printf("total=%d\n", total);
return 0;
}

int sum(int ar[][COLS], int rows)
{
int r, c;
int tot = 0;
for (r = 0; r < rows; r++)
for (c = 0; c < COLS; c++)
tot += ar[r][c];
}

  • 写回答

2条回答 默认 最新

  • 无形有道 2019-09-14 21:45
    关注

    两处错误:
    1)sum函数在使用之前未声明或定义;
    2)sum函数缺少返回值。

    解决办法:
    1)在main函数之前声明sum函数原型,即添加 int sum(int ar[][COLS], int rows); (或者将下面的sum函数移动到main函数之前也行)
    2)在sum函数体末尾添加 return tot;

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?