struct参数的默认值 [英] Default value for struct parameter

查看:650
本文介绍了struct参数的默认值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

假设我具有以下结构:

struct myStruct
{
 int x;
 int y;
 int z;
 int w;
};

我想在调用以下函数时将此结构初始化为默认值.如果有帮助,我正在寻找一个简单的零初始化.

I want to initialize this struct to a default value when calling the following function. If it helps I'm looking for a simple zero initialization.

void myFunc(myStruct param={0,0,0,0})
{
 ...
}

但是,此代码给了我编译错误.我已经尝试过VS2003和VS2008.

This code however gives me compile error. I've tried VS2003 and VS2008.

注意::我已经看过其他提及构造函数使用的答案.但是,我希望用户查看我正在使用哪些值进行初始化.

NOTE: I have looked at other answers mentioning the use of constructor. However I want the user to see what values I'm using for initialization.

推荐答案

myStruct 中添加默认构造函数将解决您的问题.

Adding default constructor in to your myStruct will solves your problem.

struct myStruct {
   myStruct(): x(0),y(0), z(0), w(0) { }   // default Constructor
   int x, y, z, w;
};

函数声明:

void myFunc(myStruct param = myStruct());

这篇关于struct参数的默认值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆