gpt4 book ai didi

c++ - 类中的 Typedef

转载 作者:行者123 更新时间:2023-11-30 00:36:45 29 4
gpt4 key购买 nike

我如何在一个函数中使用 typedef?让我们考虑 B 类有一个 int x 数据成员。当我尝试编译以下内容时,我得到:'.' 标记之前的预期初始值设定项

在此示例中,一切都很简单,但对于我的代码,我将执行类似 test.x.y.z.f 的操作。所以我在对象中有多个对象,直到我得到我需要的数据成员,所以 typedef 会有所帮助。

class A
{
B test;

A(B test1)
{
test = test1;
}

function f()
{
typedef test.x x; //how come this doesn't compile?

}
}

最佳答案

x 是一个变量,不是类型。在 C++11 中,您可以使用 decltype 来确定 x 的类型:

void f()
{
decltype(test.x) x;
}

或者,您可以只声明对您希望合作的成员的本地引用:

void f()
{
auto& x_ref(test.x); // Or explictly state the type.
}

关于c++ - 类中的 Typedef,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15229428/

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