标题:矩阵类构造函数无法通过编译
只看楼主
pengshenhu
Rank: 2
等 级:论坛游民
帖 子:7
专家分:20
注 册:2011-10-1
结帖率:100%
已结贴  问题点数:20 回复次数:2 
矩阵类构造函数无法通过编译
这是我写的一个用于矩阵运算的矩阵类,在构造函数想把实参分别赋值给一个二维数组,但不知道什么原因无法编译通过
这是我的代码:
#include <iostream.h>
class Matrix
{
public:
    Matrix(int=0,int=0,int=0,int=0,int=0,int=0);//构造函数
    void setarray();//设置数组元素
private:
    int array[2][3];
}

Matrix::Matrix(int a11,int a12,int a13,int a21,int a22,int a23)
{
    array[0][0]=a11;    array[0][1]=a12;    array[0][2]=a13;
    array[1][0]=a21;    array[1][1]=a22;    array[1][2]=a23;
}

void Matrix::setarray()
{
    for(int i=0;i<2;i++)
    {
        for(int j=0;j<3;j++)
        {
            cout<<"a"<<(i+1)<<(j+1)<<"=";
            cin>>array[i][j];
        }
    }
    return;
}

在vc 6.0上的编译错误是:
error C2533: 'Matrix::Matrix' : constructors not allowed a return type

错误提示不能有返回值,但是我的构造函数并没有返回值,希望有人指点下
搜索更多相关主题的帖子: 矩阵 private include public 
2012-05-19 15:39
荡气回肠
Rank: 2
等 级:论坛游民
帖 子:33
专家分:40
注 册:2012-5-6
得分:20 
#include <iostream.h>
class Matrix
{
public:
    Matrix(int=0,int=0,int=0,int=0,int=0,int=0);//构造函数
    void setarray();//设置数组元素
private:
    int array[2][3];
}; //分号掉啦

Matrix::Matrix(int a11,int a12,int a13,int a21,int a22,int a23)
{
    array[0][0]=a11;    array[0][1]=a12;    array[0][2]=a13;
    array[1][0]=a21;    array[1][1]=a22;    array[1][2]=a23;
}

void Matrix::setarray()
{
    for(int i=0;i<2;i++)
    {
        for(int j=0;j<3;j++)
        {
            cout<<"a"<<(i+1)<<(j+1)<<"=";
            cin>>array[i][j];
        }
    }
    return;
}

2012-05-19 17:39
pengshenhu
Rank: 2
等 级:论坛游民
帖 子:7
专家分:20
注 册:2011-10-1
得分:0 
噢噢,原来是这样,那时就是没找出来问题
2012-05-20 12:06



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-367735-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.194595 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved