gpt4 book ai didi

c++ - 如果在同一个范围内有同名的类和变量,如何指定类?

转载 作者:行者123 更新时间:2023-11-30 02:28:39 26 4
gpt4 key购买 nike

拍照时间!

struct my_struct {
___________ class name (A)

struct pineapple {};
pineapple pineapple;
↑______________ variable name (B)

____________ seems to be referring to B instead of A

my_struct(pineapple pineapple) {
this->pineapple = pineapple;
}
};

所以有一个类和一个共享相同名称的变量。虽然这通常不会打扰 c++,但在函数参数(例如那里的构造函数)的情况下,它似乎更喜欢局部变量的名称而不是类。

有没有办法指定我指的是类而不是变量?

最佳答案

你为什么要这样对自己?

无论如何,您可以使用 elaborated type specifier消除歧义:

struct my_struct {
struct pineapple {};
pineapple pineapple;

my_struct(struct pineapple pineapple) {
^^^^^^
this->pineapple = pineapple;
}
};

demo

话虽如此,这确实是一种奇怪的设计,我会避免使用它。

关于c++ - 如果在同一个范围内有同名的类和变量,如何指定类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40517242/

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