c++ 自定义函数 void

z#include<iostream.h>
#include<math.h>

void sqrtlist(int n)
{

for(int i=0;i<=n;i++)
cout<<sqrt(i)<<'\t';
cout<<endl;
}

void main(void)
{
int num;
cin>>num;
sqrtlist(num);
}
求0-n之间的平方跟,void sqrtlist(int n)中的void加不加咋都一样,什么情况下不能加?

慕姐8265434
浏览 497回答 3
3回答

慕勒3428872

函数前的修饰符void表示该函数无返回值,但函数内部输出仍正常。如:void sum1(int x, int y){cout << x+y << endl;}int sum2(int x, int y){return x+y;}void main(){int x=3, y=4, z;sum1(x, y);//直接输出7z = sum2(x, y);//将返回的值赋给zcout << z << endl;//z = sum1(x, y);不可以这样写,因为sum1申明为void,表示无返回。}

吃鸡游戏

看看cout<<endl;这个是在函数调用里面的 所以理论上上加家了表示没有返回值 也就是说 加了 这个函数的最后结果 或者中间变量声明的就不再烦传给主函数了。。。如果你在函数里面加个参数。。K ,k=sqrt(i)而输出是在主函数里面输出 那么就不能加VOID 前面要加上函数类型 单精度?双精度。。。

www说

如果是cocos2d用于声明导入导出函数__declspec(dllexport) 声明一个导出函数,一般用于dll中__declspec(dllimport) 声明一个导入函数,一般用于使用某个dll的exe中导入的就是CC_DLL将一个函数声名为导出函数,就是说这个函数要被其他程序调用,即作为DLL的一个对外函数接口。通常它和extern&nbsp;"C"&nbsp;合用,形式如下:extern&nbsp;"C"{__declspec(dllexport) RETURN_TYPE FUNCTION(){}}这是由于在制作DLL导出函数时由于C++存在函数重载,因此__declspec(dllexport) FUNCTION(int,int) 在DLL会被decorate,例如被decorate成为 function_int_int,而且不同的编译器decorate的方法不同,造成了在用GetProcAddress取得FUNCTION地址时的不便,使用extern&nbsp;"C"时,上述的decorate不会发生,因为C没有函数重载,如此一来被extern"C"修饰的函数,就不具备重载能力。“在 32 位编译器版本中,可以使用__declspec(dllexport) 关键字从 DLL 导出数据、函数、类或类成员函数。__declspec(dllexport)将导出指令添加到对象文件(即obj文件),若要导出函数,__declspec(dllexport)关键字必须出现在调用约定关键字的左边(如果指定了关键字)。例如:__declspec(dllexport) void&nbsp;__cdecl&nbsp;Function1(void);若要导出类中的所有公共数据成员和成员函数,关键字必须出现在类名的左边,如下所示:class __declspec(dllexport) CExampleExport : public CObject{ ... class definition ... };生成 DLL 时,通常创建一个包含正在导出的函数原型和/或类的头文件,并将__declspec(dllexport)添加到头文件中的声明。若要提高代码的可读性,请为__declspec(dllexport)定义一个宏并对正在导出的每个符号使用该宏:#define DllExport __declspec( dllexport ) ”
打开App,查看更多内容
随时随地看视频慕课网APP