为了账号安全,请及时绑定邮箱和手机立即绑定

c++ 自定义函数 void

c++ 自定义函数 void

C++
慕姐8265434 2019-05-13 15:08:00
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加不加咋都一样,什么情况下不能加?
查看完整描述

3 回答

?
慕勒3428872

TA贡献1848条经验 获得超6个赞

函数前的修饰符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);//直接输出7
z = sum2(x, y);//将返回的值赋给z
cout << z << endl;
//z = sum1(x, y);不可以这样写,因为sum1申明为void,表示无返回。
}



查看完整回答
反对 回复 2019-05-14
?
吃鸡游戏

TA贡献1829条经验 获得超7个赞

看看cout<<endl;
这个是在函数调用里面的 所以理论上上加

家了表示没有返回值 也就是说 加了 这个函数的最后结果 或者中间变量声明的就不再烦传给主函数了。。。

如果你在函数里面加个参数。。K ,k=sqrt(i)
而输出是在主函数里面输出 那么就不能加VOID 前面要加上函数类型 单精度?双精度。。。




查看完整回答
反对 回复 2019-05-14
?
www说

TA贡献1775条经验 获得超8个赞

如果是cocos2d
用于声明导入导出函数
__declspec(dllexport) 声明一个导出函数,一般用于dll中
__declspec(dllimport) 声明一个导入函数,一般用于使用某个dll的exe中
导入的就是CC_DLL

将一个函数声名为导出函数,就是说这个函数要被其他程序调用,即作为DLL的一个对外函数接口。
通常它和extern "C" 合用,形式如下:
extern "C"
{
__declspec(dllexport) RETURN_TYPE FUNCTION()
{
}
}
这是由于在制作DLL导出函数时由于C++存在函数重载,因此__declspec(dllexport) FUNCTION(int,int) 在DLL会被decorate,例如被decorate成为 function_int_int,而且不同的编译器decorate的方法不同,造成了在用GetProcAddress取得FUNCTION地址时的不便,使用extern "C"时,上述的decorate不会发生,因为C没有函数重载,如此一来被extern"C"修饰的函数,就不具备重载能力。

“在 32 位编译器版本中,可以使用__declspec(dllexport) 关键字从 DLL 导出数据、函数、类或类成员函数。__declspec(dllexport)将导出指令添加到对象文件(即obj文件),若要导出函数,__declspec(dllexport)关键字必须出现在调用约定关键字的左边(如果指定了关键字)。例如:

__declspec(dllexport) void __cdecl Function1(void);

若要导出类中的所有公共数据成员和成员函数,关键字必须出现在类名的左边,如下所示:

class __declspec(dllexport) CExampleExport : public CObject
{ ... class definition ... };

生成 DLL 时,通常创建一个包含正在导出的函数原型和/或类的头文件,并将__declspec(dllexport)添加到头文件中的声明。
若要提高代码的可读性,请为__declspec(dllexport)定义一个宏并对正在导出的每个符号使用该宏:
#define DllExport __declspec( dllexport ) ”




查看完整回答
反对 回复 2019-05-14
  • 3 回答
  • 0 关注
  • 496 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信