回答編集履歴
1
追記
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
|
+
```
|