2 wyn0222 wyn0222 于 2016.04.13 21:08 提问

C++函数返回类型错误 void return type assumed

图片说明
函数void和int 都提示这两句错误
main前面没 主函数只是main()
void换int 加return0 都试过了
函数下面加了下面这两句才出错的
s=sqrt(p(p-l1)(p-l2)(p-l3));
cout<<"所构成的三角形面积为:"<<s<<endl;
提示s=....这句错了

6个回答

VisualEleven
VisualEleven   Ds   Rxr 2016.04.14 16:38
已采纳

s=sqrt(p(p-l1)(p-l2)(p-l3));
你这个写的是啥?p是什么?感觉也不是函数?
你这个是在求三角形的面积吗?知道三角形的三条边长,求三角形的面积,p为周长?
s = sqrt(p * (p - l1) * (p - l2) * (p - l3));

wyn0222
wyn0222 公式 数据 应该没错。。。。 提示S= 这句错误trem 。。。。。
一年多之前 回复
wyn0222
wyn0222 L1 L2 L3 三边长
一年多之前 回复
wyn0222
wyn0222 L1 类
一年多之前 回复
wyn0222
wyn0222 p=周长二分之一 三角面积公式
一年多之前 回复
devmiao
devmiao   Ds   Rxr 2016.04.13 21:46

加上一个 return 0;

wyn0222
wyn0222 不行。。。
一年多之前 回复
beifengche
beifengche   2016.04.13 22:10

看看你的main函数是不是有返回值,如果返回值不是void那么就必须添加返回值。

msdnwolaile
msdnwolaile   2016.04.13 22:22

嗯嗯,你的编译器应该是vc 6.0,主函数可能是这样:int main(),程序应该有返回值的,但是你的程序中并没有,,,
但是貌似vc不稳定唉,就是把程序关掉,你再次打开编译运行,不会出现这个警告了,,,,但是会出现(Skipping (no relevant changes detected))
所以说:对于我们的一个函数,当有返回值的时候,一定要存在return,当返回值为void时,一定不能有return,
哈哈,应该就是这样,,,,,

wyn0222
wyn0222 C++ 主函数就是 main() 前面没int也没void 有个void函数 cout了一个值
一年多之前 回复
q610098308
q610098308   2016.04.14 07:34

看main 前是什么类型,返回正确类型,或是有地方提前返回了,或是有地方应该return 类型,但没有写,静态检查下代码

fang027
fang027   2016.04.14 19:40

s类型是double吗?

wyn0222
wyn0222 单独把求面积的列个函数 照样错。。。 是S这个公式太复杂吗
一年多之前 回复
wyn0222
wyn0222
一年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!