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

回答編集履歴

1

update

2019/11/08 02:59

投稿

yohhoy
yohhoy

スコア6191

answer CHANGED
@@ -7,7 +7,7 @@
7
7
  _ALIGNAS_TYPE(istream) _LIBCPP_FUNC_VIS char cin[sizeof(istream)]
8
8
  ```
9
9
 
10
- 宣言時`std::istream`と定義時`char[]`のように型が異なってますが、これはC++標準ライブラリが要求する動作を実現するためのHACKの一種と思います。
10
+ 宣言時`std::istream`と定義時`char[]`のように型が異なってますが、これはC++標準ライブラリが要求する動作([C++17 [iostream.objects.overview]/3](https://timsong-cpp.github.io/cppwp/n4659/input.output#iostream.objects.overview-3))を実現するためのHACKの一種と思います。
11
11
 
12
12
  > 実際に似たようなコードを作成してみましたがコンパイルできなかったです。
13
13
  > そもそも型が違う同名の変数がある時点でコンパイルエラーになるはずなのになぜならないのでしょうか?