如何修复'变量'未在此范围错误中声明?

时间:2015-12-05 07:41:06

标签: c++

此代码显示错误“len”,并且未在此范围内声明“wid” 我该如何解决?

class Shape {    
    private:    
        double length;    
        double width;    
    public:  

        Shape(double len, double wid) {  
            length = len;  
            width = wid;  
        }

        double getArea() {   
            return len*wid;    
        }    
};    


int main() {    
    Shape Shape(2,4);    
    cout << Shape.getArea();    
}   

2 个答案:

答案 0 :(得分:4)

您的getArea()函数应返回length*width

lenwid是构造函数中定义的局部变量,而lengthwidth是可由其他函数访问的类变量。因此,当构造函数的定义结束时,lenwid超出范围。

答案 1 :(得分:0)

你应该返回length*width