没有object = C++就无法调用成员函数

jDO*_*DOG 14 c++ compilation function

我再次刷牙,我收到一个错误:

无对象无法调用成员函数.

我打电话给:

FxString text = table.GetEntry(obj->GetAlertTextID());
FxUChar outDescription1[ kCP_DEFAULT_STRING_LENGTH ];

IC_Utility::CP_StringToPString(text, &outDescription1[0] );
Run Code Online (Sandbox Code Playgroud)

行:IC_Utility :: CP_StringToPString(text,&outDescription1 [0]); 得到错误

我的功能是:

void IC_Utility::CP_StringToPString( FxString& inString, FxUChar *outString)
{
}
Run Code Online (Sandbox Code Playgroud)

我知道它必须是我想念的简单事物.

Tim*_*son 22

如果您已编写该CP_StringToPString函数,则需要声明它static:

static void IC_Utility::CP_StringToPString( FxString& inString, FxUChar *outString)
Run Code Online (Sandbox Code Playgroud)

或者,如果它是第三方代码中的函数,则需要声明一个IC_Utility对象来调用它:

IC_Utility u;
u.CP_StringToPString(text, &outDescription1[0] );
Run Code Online (Sandbox Code Playgroud)


Bla*_*rad 10

您的方法不是静态的,因此必须从实例调用(有点像错误所说).如果您的方法不需要访问任何其他实例变量或方法,您可能只想声明它static.否则,您必须获取正确的实例并在该实例上执行该方法.