不能在没有object = C ++的情况下调用成员函数 [英] Cannot call member function without object = C++

查看:1141
本文介绍了不能在没有object = C ++的情况下调用成员函数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述



无法在没有对象的情况下调用成员函数。



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

IC_Utility :: CP_StringToPString(text,& outDescription1 [0]);

行:IC_Utility :: CP_StringToPString(text,& outDescription1 [0]);我的函数是:
$ b $ pre $ void IC_Utility: :CP_StringToPString(FxString& inString,FxUChar * outString)
{
}

如果你已经写了 CP_StringToPString 函数,您需要声明 static

  static void IC_Utility :: CP_StringToPString(FxString& inString,FxUChar * outString)

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

  IC_Utility u; 
u.CP_StringToPString(text,& outDescription1 [0]);


I am brushing up again and I am getting an error:

Cannot call member function without object.

I am calling like:

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

IC_Utility::CP_StringToPString(text, &outDescription1[0] );

The line: IC_Utility::CP_StringToPString(text, &outDescription1[0] ); is getting the error

My function is:

void IC_Utility::CP_StringToPString( FxString& inString, FxUChar *outString)
{
}

I know it has to be something simple I am missing.

解决方案

If you've written the CP_StringToPString function, you need to declare it static:

static void IC_Utility::CP_StringToPString( FxString& inString, FxUChar *outString)

Alternatively, if it's a function in third-party code, you need to declare an IC_Utility object to call it on:

IC_Utility u;
u.CP_StringToPString(text, &outDescription1[0] );

这篇关于不能在没有object = C ++的情况下调用成员函数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆