c ++课程不适合我

时间:2015-10-20 08:26:23

标签: c++ class variables scope

我写过这个程序,但它不起作用。它给出了一个错误,xy未在行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个值

2 个答案:

答案 0 :(得分:4)

  1. 要求在C ++中包含类型的参数。将shapes::decideshape的定义写为

    void shapes::decideshape(int x, int y)
    
  2. 您无法从shapes::getvalue返回值。

  3. 您将过少(实际上没有)参数传递给shapes::decideshape。预计将提供两个int

  4. 您需要告诉编译器函数返回显式的内容。将int返回值添加到main

答案 1 :(得分:0)

您在参数列表中缺少xy的类型:

void shapes::decideshape(int x, int y)