gpt4 book ai didi

c++ - 使用二元运算符重载的乘法表给出错误

转载 作者:行者123 更新时间:2023-11-28 02:43:35 26 4
gpt4 key购买 nike

当我执行下面的代码时,它在 turbo c++ 4.5 中没有显示错误。但是当我运行它时,它给了我一个错误,比如

“一般保护异常 0x00EA 处理器故障”。

我的代码是否包含任何错误。我不知道去哪里问。任何建议都会有所帮助。

这是代码

#include<iostream.h>
#include<conio.h>
const size=10;

class tab
{
int m[size];
public:
tab();
void disp();

friend tab operator *(int a,tab t3);
};

tab::tab()
{
for(int i=1;i<=size;i++)
{
m[i]=1;
}
}

void tab::disp()
{
for(int i=1;i<=size;i++)
{
cout<<m[i];
}
}

tab operator *(int a,tab t3)
{
tab t;
for(int i=1;i<=size;i++)
{
t.m[i]=a*t3.m[i];
}
return t;

}

void main()
{
tab t2,t1;
clrscr();
t2=2*t1;
t2.disp();
getch();
}

最佳答案

在 C++ 中,索引从 0 开始,而不是 1。

所以你的循环应该是这样的

for (int i = 0; i < size; ++i)

代替

for (int i = 1; i <= size; ++i)

关于c++ - 使用二元运算符重载的乘法表给出错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25114172/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com