我写过这个程序,但它不起作用。它给出了一个错误,x
和y
未在行17
上的int之前声明和预期的主表达式。
#include<iostream>
using namespace std;
class shapes
{
int width, height;
public:
int getvalue();
void decideshape(int l, int b);
};
main()
{
cout<<"to find what type of shape you have input the measurements"<<endl;
shapes toy;
toy.getvalue();
toy.decideshape();
}
int shapes::getvalue()
{
int l, b;
cout<<"length = ";
cin>>l;
cout<<"breath = ";
cin>>b;
}
void shapes::decideshape(x, y)
{
if(x==y)
cout<<"This is square"<<endl;
else
cout<<"This is rectangle"<<endl;
}
我应该如何从函数getvalue返回2个值
答案 0 :(得分:4)
要求在C ++中包含类型的参数。将shapes::decideshape
的定义写为
void shapes::decideshape(int x, int y)
您无法从shapes::getvalue
返回值。
您将过少(实际上没有)参数传递给shapes::decideshape
。预计将提供两个int
。
您需要告诉编译器函数返回显式的内容。将int
返回值添加到main
。
答案 1 :(得分:0)
您在参数列表中缺少x
和y
的类型:
void shapes::decideshape(int x, int y)