gpt4 book ai didi

c++ - 在类中声明一个结构,在源文件中定义

转载 作者:搜寻专家 更新时间:2023-10-31 01:27:09 25 4
gpt4 key购买 nike

它是如何正确完成的?它需要预先声明,以便将其用作类中某个函数的返回值。有可能吗?

例如:

class foo 
{
struct in_foo;
public:
in_foo * func();
};

最佳答案

是的,你可以做到。这是一个例子:

class foo 
{
struct in_foo;
public:
in_foo * func();
};

struct foo::in_foo {
};

foo::in_foo* foo::func()
{
return nullptr;
}

int main()
{
foo f;
auto p = f.func(); // ok
// the following would be an error:
// foo::in_foo* p2 = f.func();
}

请注意,如上所示,您只能使用auto 声明foo:in_foo 的变量(因为foo:in_foo 是私有(private)的).

关于c++ - 在类中声明一个结构,在源文件中定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53907264/

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