gpt4 book ai didi

c++ - 最烦人的解析

转载 作者:太空狗 更新时间:2023-10-29 23:10:28 27 4
gpt4 key购买 nike

<分区>

我在 Cpp Quiz 看到了一个代码[问题 #38]

#include <iostream>

struct Foo
{
Foo(int d) : x(d) {}
int x;
};

int main()
{
double x = 3.14;

Foo f( int(x) );

std::cout << f.x << std::endl;

return 0;
}

据说这段代码格式错误,因为 Foo f( int(x) ); 将被视为函数声明而不是 Foo< 类型的对象声明.

据我所知,这是“最令人烦恼的解析”的一个实例。我的问题是语句 Foo f( int(x) ); 中的语法 int(x) 是什么意思?到目前为止,我只看到函数声明如下:

  1. Foo f( int );

  2. Foo f( int x );

它和Foo f( int x ); 一样吗?

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com