2 yr131 yr131 于 2015.05.31 18:17 提问

求高手帮忙解答一下c++的问题,我不知道哪里有问题?
c++

//rectangular.h
#include
class rectangular
{public:
rectangular(float a=3,float b=4,float c=5);
void in_output();
private:
float length,width,height,volume;
};
rectangular::rectangular(float a,float b,float c)
{
length=a;
width=b;
height=c;
}
//rectangular.cpp

#include"rectangular.h"
void rectangular::in_output()
{
cout<<"请分别输入长方柱的长宽高:"< cin>>length>>width>>height;
volume=length*width*height;
cout<<"体积:"<<volume<<endl;
}
//file.cpp

#include"rectangular.h"
int main()
{
rectangular v1;
rectangular V2(6);
rectangular V3(7,8);
rectangular V4(9,10,11);
cout<<"第一个体积:"<<endl;
v1.in_output();
cout<<"第二个体积:"<<endl;
v2(6).in_output(6);
cout<<"第三个体积:"<<endl;
v3(7,8).in_output(7,8);
cout<<"第四个体积:"<<endl;
v4(9,10,11).in_output(9,10,11);
return 0;
}

报错:
file2.cpp
D:\file2.cpp(11) : error C2065: 'v2' : undeclared identifier
D:\file2.cpp(11) : error C2228: left of '.in_output' must have class/struct/union
type
D:\file2.cpp(13) : error C2065: 'v3' : undeclared identifier
D:\file2.cpp(13) : error C2228: left of '.in_output' must have class/struct/union
type
D:\file2.cpp(15) : error C2065: 'v4' : undeclared identifier
D:\file2.cpp(15) : error C2228: left of '.in_output' must have class/struct/union
type
执行 cl.exe 时出错.

file2.obj - 1 error(s), 0 warning(s)

7个回答

guwei4037
guwei4037   Ds   Rxr 2015.05.31 18:21
已采纳

rectangular v1;
rectangular v2(6);
rectangular v3(7,8);
rectangular v4(9,10,11);

看错误提示,undeclared identifier , 没有声明的标识符。所以定位到变量。

v2到v4首字母统一小写,你后面用的变量都是小写。

gamefinity
gamefinity   Rxr 2015.05.31 18:22
  • 你定义的时候是大写V2,使用的时候是小写v2
  • v3,v4,与这个问题相同
talisker_hesw
talisker_hesw   2015.05.31 18:28

rectangular V2(6);
rectangular V3(7,8);
rectangular V4(9,10,11);

这是定义,调用时必须这样:

v2.in_output();
v3.in_output();
v4.in_output();

你基本属于0基础嘛。

yr131
yr131 回复talisker_hesw: 光线太暗,没看清楚,的确是基础问题!
接近 3 年之前 回复
talisker_hesw
talisker_hesw 至于大小写根本就不应该提及的入门常识。
接近 3 年之前 回复
frank_20080215
frank_20080215   2015.05.31 19:25

变量大小写没有一致。查查v1、V2、V3、V4、V5、V6

zhengyuxuan1125
zhengyuxuan1125   2015.06.01 08:51

你的调用有问题啊,你的错误是D:\file2.cpp(11) : error C2228: left of '.in_output' must have class/struct/union
type,意思也就是告诉你in_output的左侧必须是一个类,这是类函数的调用基本问题啊,应该是v2.in_output,其余的依次类推啊

u012377333
u012377333   Rxr 2015.06.01 09:26

c++是区分大小写的

xy707707
xy707707   2015.06.02 22:14

区分大小写的,,,,变量为定义

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!