Augenstern.503 2022-06-05 23:35 采纳率: 75%
浏览 32
已结题

如何在主程序中定义数组 int b[ ][4]作为原始数组。定义一个 Array 类对象 test,用 b 初始化 test,现在主函数test(b)报错了


#include<iostream>
#include <iomanip>

using namespace std;

class Array             //创建Array类
{
private:
    int a[4][4];        //新创建一个数组装传入的数据
public:
    Array(int a1[][4],int n);
    friend void xuanzhuan(Array& b); //定义顺时针翻转
    void show();
};
Array::Array(int a1[][4], int n)        //通过遍历给Array内的b[][]赋值
{
    int i, j;

    for (i = 0; i < 4; i++)
    {
        for (j = 0; j < 4; j++)
        {
            a[i][j] = a1[i][j];
        }
        cout << endl;
    }
}

void  xuanzhuan(Array& b)
{
    int i, j, t;
    int c[4][4];
    for (i = 0; i < 4; i++)
        for (j = 0; j < 4; j++)
        {
            c[i][j] = b.a[i][j];
        }
    for (i = 0; i < 4; i++)
        for (j = 0; j < 4; j++)
        {
            b.a[i][j] = c[3 - j][i];
        }
}
void  Array:: show()
{
    for (int i = 0; i < 4; i++)
    {
        for (int j = 0; j < 4; j++)
        {
            cout << setw(4) << right << a[i][j];
        }
        cout << endl;
    }
}

int main()
{
    int b[][4] = { 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16 };
    for (int i = 0; i < 4; i++)
    {
        for (int j = 0; j < 4; j++)

        cout << "next" << endl;
    } 
    Array  test(b);
    test.show();
    xuanzhuan(test);
    test.show();
    return 0;
}
  • 写回答

2条回答 默认 最新

  • qfl_sdu 2022-06-06 00:52
    关注

    因为你的构造函数是2个参数,但是在main函数中,你只写了1个参数,编译器找不到合适的构造函数。
    把main函数中的 Array test(b); 改成 Array test(b,4); 就可以了

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

报告相同问题?

问题事件

  • 系统已结题 6月14日
  • 已采纳回答 6月6日
  • 赞助了问题酬金5元 6月5日
  • 创建了问题 6月5日

悬赏问题

  • ¥15 数据库原理及应用上机练习题
  • ¥15 征集Python提取PDF文字属性的代码
  • ¥15 如何联系真正的开发者而非公司
  • ¥15 有偿求苍穹外卖环境配置
  • ¥15 代码在keil5里变成了这样怎么办啊,文件图像也变了,
  • ¥20 Ue4.26打包win64bit报错,如何解决?(语言-c++)
  • ¥15 clousx6整点报时指令怎么写
  • ¥30 远程帮我安装软件及库文件
  • ¥15 关于#自动化#的问题:如何通过电脑控制多相机同步拍照或摄影(相机或者摄影模组数量大于60),并将所有采集的照片或视频以一定编码规则存放至规定电脑文件夹内
  • ¥20 深信服vpn-2050这台设备如何配置才能成功联网?