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());
}
Run Code Online (Sandbox Code Playgroud)
在非成员函数中无效使用"this"
很抱歉这样的问题,但我已经搜索过并知道应该怎么做,但我不确定我做错了什么.
您需要完全限定成员函数定义的名称:
void Bot::servcon()
{
sin.sin_addr.s_addr = inet_addr(this->get_serveradr()); // Note use of ->
}
Run Code Online (Sandbox Code Playgroud)
否则,它被视为没有this指针的独立功能.
因为这是C++,所以使用a std::string而不是a char*.传递给该Bot::set_serveradr()方法的参数必须比Bot哪个容易出错(以及谁负责delete[]它?).您可以访问char*使用std::string::c_str()方法.