1. ホーム
  2. c++

[解決済み] なぜこれがコンパイルされるのか理解できない

2023-08-20 03:03:37

質問

私は確かに何かを見逃しているが、私はこれがなぜコンパイルされるのか理解できない(g++ & clang++の両方と)。

struct A
{
};
struct B
{
};

int main()
{
  A a(B);
}

まず最初に B は型です...値ではありません。このコードをどう解釈すればいいのでしょうか?

どのように解決するのですか?

という名前の関数の宣言として解釈されます。 a という型の引数を取る B を返し A .