gpt4 book ai didi

C++ 类 this-> 错误

转载 作者:行者123 更新时间:2023-11-30 00:56:10 28 4
gpt4 key购买 nike

class Bot{
private:
char *serveradr;
public:
char *get_serveradr();
char set_serveradr(char *server);
void servcon();
};

char Bot::set_serveradr(char *server)
{
serveradr = server;
}

char *Bot::get_serveradr()
{
return serveradr;


void servcon()
{
sin.sin_addr.s_addr = inet_addr(this.get_serveradr());

}

invalid use of `this' in non-member function

很抱歉提出这样的问题,但我已经搜索过并知道应该这样做,但我不确定我做错了什么。

最佳答案

您需要完全限定成员函数定义的名称:

void Bot::servcon()
{
sin.sin_addr.s_addr = inet_addr(this->get_serveradr()); // Note use of ->

}

否则,它被视为没有this 指针的独立函数。

因为这是 C++,所以使用 std::string 而不是 char*。传递给 Bot::set_serveradr() 方法的参数必须比 Bot 更有效(并且谁负责 delete[]ing它?)。您可以使用 std::string::c_str() 方法访问 char*

关于C++ 类 this-> 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10874099/

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