gpt4 book ai didi

c++ - 如何在cpp文件中调用静态成员函数

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

我想知道是否可以像下面这样在 cpp 文件中调用静态成员函数:

啊啊

class A
{
public:
A(){}
virtual ~A(){}

static void Initialize(){ g_pSomeType = new SomeType();}

private:
static SomeType* g_pSomeType;
};

A.cpp

#include "A.h"

SomeType* A::g_pSomeType = nullptr;

A::Initialize(); //here I get an error: "Initialize may not be redeclared outside of it's class"

有没有可能做这样的事情?这样我就可以在类的 .cpp 文件中初始化静态成员,以避免用户必须先调用 initialize() ?我想我可以找到解决这个问题的方法,但我很好奇是否有办法让它工作。谢谢。

最佳答案

您不能在函数体之外编写任何可执行代码。只有在函数或方法内部时,您才能调用 A::Initialize()(或执行任何其他函数/方法调用)...

编译器认为您是在再次声明 A::Initialize() 而不是调用它。

关于c++ - 如何在cpp文件中调用静态成员函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8750273/

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