teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

追記

2016/02/12 07:34

投稿

Chironian
Chironian

スコア23274

answer CHANGED
@@ -2,4 +2,20 @@
2
2
 
3
3
  [C++11で初期化子周り](http://faithandbrave.hateblo.jp/entry/20111221/1324394299)が拡張されましたので、`void foo(Info info ={0})`と書けました。
4
4
  Visual Studio 2013/2015、MinGW 5.2.0(=gcc)でOKでした。
5
- gccでは、`-std=c++11`オプションが必要です。
5
+ gccでは、`-std=c++11`オプションが必要です。
6
+
7
+ ---
8
+ 【ついでに】
9
+ C++は下記のようにも書けますよ。C++の構造体はクラスとほぼ同じものです。
10
+ ```c++
11
+ struct Info
12
+ {
13
+ Info() : a(0), b(0) { } //←デフォルト・コンストラクタです
14
+ int a;
15
+ int b;
16
+ };
17
+
18
+ void foo(Info info = Info()) {
19
+ ...
20
+ }
21
+ ```