c++ - 非法引用非静态成员 'Sun::m_SunTexture'

标签 c++ compiler-errors

我在 C++ 方面并不太胜任,这个编译器错误对我来说毫无意义。下面一行调用标题所示的编译错误:

m_SunTexture = LudoTextureManager::GetInstance()->GetTextureData(hardcoded.c_str()).m_Texture;

m_SunTexture 在我的头文件中定义为

IDirect3DTexture9 *m_SunTexture;

在我的头文件的私有(private)部分。为什么是这样!这对我来说毫无意义。

根据要求,这里有更多代码。 m_SunTexture 正在这个函数中被调用

void Sun::DrawSun()
{
    std::wstring hardcoded = L"..\\Data\\sun.jpg";
    m_SunTexture = LudoTextureManager::GetInstance()->GetTextureData(hardcoded.c_str()).m_Texture;
    //more code here, cut off because it's useless for this.
}

DrawSun在头文件中定义为:

static void DrawSun();

在我的头文件的公共(public)部分下。

最佳答案

我猜第一行代码在一个静态函数中,它指的是非静态成员“m_SunTexture”。

参见 this想要查询更多的信息。本质上,静态函数没有“this”指针,因此引用非静态成员(属于类的每个实例)没有任何意义。

关于c++ - 非法引用非静态成员 'Sun::m_SunTexture',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1698388/

相关文章:

c++ - 实际函数调用计数与 EXPECT_CALL(*mock, display()) 不匹配

android - 错误NotificationCompatIceCreamSandwich已被添加到输出中。请删除重复的副本

c++ - 调整 vector 大小编译器错误

C 指针解引用错误

c++ - 检查类型是否为 map

c++ - 苹果、橘子和指向最派生的 c++ 类的指针

python-3.x - flask 应用程序中的ldap3绑定(bind)语法错误

android - 适用于Android IDE的Android错误/崩溃检查插件

c++ - 将同一类的方法实现放在不同的目标文件中

c++ - cppcms 大量未解析的外部符号