如何解决布尔函数返回问题
现在我意识到我需要一个bool函数,而不是void函数,如何使该函数返回0或1?
bool Alist::remove(int n)
{
for (int i = 0; i < val; i++)
if(a[i] = n)
{
for ( int j = i; j < (val - 1); j++)
a[j] = a[j+1];
}
for (int i = 0; i < val; i++)
if(a[i] != n)
return true;
else
return false;
}
我的代码运行正常,但不打印此语句;
cout << "Double remove: " << a1.remove(n) << " " << a1.remove(n) << endl;
解决方法
这里的问题是您试图将void
传递给接受const Alist&
的函数。如果您调用remove
函数,但不返回任何内容,那么该函数应打印什么?它不能打印void,因为void的定义是没有内存,没有位存储在任何地方。可能的解决方法(如果您要完成的工作)是在return *this;
函数末尾的Alist::remove
,以便您的打印功能(operator
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。