gpt4 book ai didi

c++ - 如何给类添加继承结构,引用 "enable_share_on_this"

转载 作者:行者123 更新时间:2023-11-28 04:25:16 25 4
gpt4 key购买 nike

我正在处理一个 C++ 类,我想向其中添加一个继承结构,但最近我的同事添加了一个 enable_shared_from_this,阻止了添加继承结构的可能性。有人知道正确的语法吗?

提前致谢

当前实现:

class ATL_NO_VTABLE Own_Class
public std::enable_shared_from_this<Own_Class>
{
public:
Own_Class();

第一次尝试:

class ATL_NO_VTABLE Own_Class : public NONSENSE
public std::enable_shared_from_this<Own_Class>
{
public:
Own_Class();

=>C2143 : syntax error : missing ',' before 'public'

第二次尝试:

class ATL_NO_VTABLE Own_Class :
public std::enable_shared_from_this<Own_Class> : : public NONSENSE
{
public:
Own_Class();
=>C2143 : syntax error : missing ',' before 'public'

第三次尝试(相当绝望):

class ATL_NO_VTABLE Own_Class :
public std::enable_shared_from_this<Own_Class : public NONSENSE>
{
public:
Own_Class();
=>C2059 : syntax error ':'

(抱歉用讽刺的语气,但这真的很令人沮丧)

最佳答案

在 C++ 中使用多重继承的正确语法如下:

class SomeClass : public InheritA, public InheritB
{
// [...]
}

所以在你的情况下,以下应该有效:

class ATL_NO_VTABLE Own_Class : public NONSENSE, public std::enable_shared_from_this<Own_Class>
{
// [...]
}

关于c++ - 如何给类添加继承结构,引用 "enable_share_on_this",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54478471/

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