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 。。。。。
2 年多之前 回复
wyn0222
wyn0222 L1 L2 L3 三边长
2 年多之前 回复
wyn0222
wyn0222 L1 类
2 年多之前 回复
wyn0222
wyn0222 p=周长二分之一 三角面积公式
2 年多之前 回复
devmiao
devmiao   Ds   Rxr 2016.04.13 21:46

加上一个 return 0;

wyn0222
wyn0222 不行。。。
2 年多之前 回复
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了一个值
2 年多之前 回复
q610098308
q610098308   2016.04.14 07:34

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

fang027
fang027   2016.04.14 19:40

s类型是double吗?

wyn0222
wyn0222 单独把求面积的列个函数 照样错。。。 是S这个公式太复杂吗
2 年多之前 回复
wyn0222
wyn0222
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
function should return a value; 'void' return type assumed
#includeusing namespace std;void sphere();int main(){ sphere(); //return 0;}void sphere(){ double radius; cout<<"Please input radius:"; cin>>radius; if (radius<0) return; c
PCLINT+C51
Example Program The following program, BADCODE.C, is one of the example programs provided with the Keilevaluation kits. This program has a
C中-void类型函数同样可以让函数有返回值
想知道 void类型函数怎样 才 能 让函数有多个返回值吗 ? 首先 你要会 C语言 , 然后 你要学过 指针 ,请看下面代码 指针的应用场景:    1)在被函数中可以修改主调函数中的变量的值    2)让函数可以有多个返回值 #include /** *  用指针让函数可
让你提前认识软件开发(51):VC++集成开发环境中Linux下Pclint工程的配置方法及常见错误修改
第3部分 软件研发工作总结VC++集成开发环境中Linux下Pclint工程的配置方法及常见错误修改 【文章摘要】        Pclint是一种C/C++软件代码静态分析工具。它是一种更加严格的编译器,能够发现普通编译器所不能发现的代码中的很多问题,因此被广泛应用于软件开发项目中。       本文介绍了如何在VC++集成开发环境中配置Linux下的Pclint工程,给出了C语言中pclint
C/C++语言中的void及void指针总结
一、void 和 void* 含义      void的字面意思是“无类型”,void *则为“无类型指针”,void *可以指向任何类型的数据。      对于void,如果定义void  a;是会编译出错的(vc6下得到:error C2182: a : illegal use of type void,vs08中: error C2182: “a”: 非法使用“void”类型
程序猿之---C语言细节27(函数无参数时细节、函数默认返回int型证明、return默认还回值、void指针++操作)
函数无参数时细节、函数默认返回int型证明、return默认还回值、void指针++操作
C语言主函数返回值问题:return type of 'main' is not 'int' [-Wmain]
当c语言main函数,返回值是void时,有提醒:return type of 'main' is not 'int' [-Wmain]
编写无警告的代码之---"warning: type qualifiers ignored on function return type"(忽略了函数返回类型的类型限定符)
 今天把项目的Qt版本从Qt4.6.3升级到Qt4.8.4,重新编译项目代码的时候,特别关注了一下编译器的警告。于是找到《C++编程规范——101条规则、准则与最佳实践》翻了翻,重温了一下第1条 在高级别警告干净利落地进行编译。     如果编译器对某个构造发出警告,一般表明代码中存有潜在的问题。警告就好比代码的“肿瘤”,可能是良性的也可能是恶性的——作为代码医生的我们不能对其视而不见。必须“把它...
PICC编译错误
程序一: #include __CONFIG(WDTDIS); #define delay_i 4 #define delay_j 10000 void delays() { int i=0; int j=0; for(i=0
error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
   error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 错误类型:              缺失类型表述  错误原因: 函数前未写函数的返回类型,由此导致了这个错误  解决方法: 以后写函数,不管是声明还是定义,都要加上