"show"未在此范围内声明
"show" was not declared in this scope
即使在声明和定义之后编译下面的程序时,我也得到错误"show未在此范围内声明"。不知道我错在哪里。请建议。
感谢 #include < iostream >
using namespace std;
class add
{
int x;
int y;
public:
void putdata(int,int);
void show(add);
friend add sum(add,add);
};
void add :: putdata (int m,int n)
{
x = m;
y = n;
}
void add :: show(add c)
{
cout<<c.x <<" "<<c.y<<endl;
}
add sum(add a1,add a2)
{
add a3;
a3.x = a1.x + a2.x;
a3.y = a1.y + a2.y;
return(a3);
}
int main()
{
add p,q,r;
p.putdata(10,15);
r.putdata(20,25);
r = sum(p,q);
show(r);
return 0;
}
~
show
是add
的非静态成员函数,因此需要在add
的实例上调用它:
p.show(r);
这样没有多大意义,所以你可以把它变成一个非成员函数,或者去掉它的形参:
show(r); // non-member
或
r.show(); // member
您需要在add对象中调用show(r)成员函数,如下所示:r.show (r);
相关文章:
- 错误:未在此范围内声明'reverse'
- 错误:"imread"未在此范围内声明
- 未在此范围内声明错误 'xy'
- Socklen_t未在此范围内声明
- 错误:'[' 之前预期的非限定 id 和错误:'users'未在此范围内声明
- "Main"已在当前范围内声明
- c++ 变量在宏的扩展中没有在这个范围内声明
- C++ 在编译过程中 strtok 函数 Eclipse 说没有在范围内声明?
- 'num1'未在此范围内声明
- 如何找到在本地范围内声明的变量的地址?
- NT状态未在此范围内声明
- 变量未在此范围内声明 数组线性搜索
- 包含文件中的 Typdef "未在此范围内声明"
- 'ClassName'和'ClassInstance'未在此范围内声明
- C++ 中的类之间的数据重新循环 - 错误:'<class name>'未在此范围内声明
- 代码作为 C 文件工作,但不作为C++文件,错误:'__builtin_types_compatible_p'未在此范围内声明
- 如何修复错误:"vreinterpretq_u32_f64"未在此范围内声明 - 在Android上使用Eigen构建
- 如何修复C++中的"arrStud未在此范围内声明"错误
- 错误:"SHGetKnownFolderPath"未在此范围内声明
- 错误:'Sprite'未在此范围内声明