質問編集履歴

2

誤表記の修正

2021/11/25 11:24

投稿

b_0_0_d
b_0_0_d

スコア9

test CHANGED
File without changes
test CHANGED
@@ -64,7 +64,7 @@
64
64
 
65
65
  - headerのinlineを消去し、main, sub ともに inline を付ける。
66
66
 
67
- いずれも、mainの方のinlineのみ実行されました。
67
+ いずれも、mainの方の "void func" のみ実行されました。
68
68
 
69
69
 
70
70
 

1

誤字の修正

2021/11/25 11:24

投稿

b_0_0_d
b_0_0_d

スコア9

test CHANGED
File without changes
test CHANGED
@@ -44,11 +44,13 @@
44
44
 
45
45
  ```
46
46
 
47
- しかし、見てわかるように “void func”が2回定義されています。
47
+ しかし、見てわかるように “void func”が2回定義されています。しかしエラーは出ませんでした。
48
48
 
49
- ただvoid func”をinlineでないようにすると、リンクエラー起こりました。こが起こるは、inline関数を使うとODR違反を回避できる(らしい)からで、と考えました。
49
+ 試しに上記に書いてあるコード(.exe)を実行するとmainの方の"void func(std::cout << main)"実行さ、sub方の"void func"(std::cout << sub) が実行されることありせんでした。
50
50
 
51
- そしてこのコード(.exe)を実行するとmainの方の"void func(std::cout << main)"が実行され、subの方の"void func"(std::cout << sub) 実行されるとはありませんでした。
51
+ ただvoid func”をinlineでないようにすると、リンクエラーこりました。
52
+
53
+
52
54
 
53
55
 
54
56