如何将“主参数”传递给成员函数

时间:2019-07-29 05:19:53

标签: c++ winsock

我正在用Winsock库编写一个小型的控制台Messanger,但是如何将'char * argv []'参数从main传递给成员函数?

我已经定义并声明了一个类,其中所有用于设置客户端的事情都已完成(启动套接字,初始化...)。该类写在另一个文档中,但是当在main()中调用该函数时,我需要使一个成员函数能够访问char * argv []参数。

int CWinsock::Connect(/*pass argv here*/) {
  printf("Connect to port\nPort: ");
  std::cin >> m_port;//get port
  memset(&m_addr, 0, sizeof(SOCKADDR_IN));
  m_addr.sin_family = AF_INET;
  m_addr.sin_port = htons(m_port);//Connect to port

  m_rc = getAddrFromString(argv[1], &m_addr);//Get the IP adress 

argv参数在上方使用

if (m_rc == SOCKET_ERROR) {
    printf("IP not found!\n");
    return 1;
}else
    printf("IP found!\n");
...
}//Connect

2 个答案:

答案 0 :(得分:0)

您可能只需要

int CWinsock::Connect(const char* adress)
{
    //..
    m_rc = getAddrFromString(adress, &m_addr);//Get the IP adress 
    //..
}

main中的

int main(int argc, char**argc)
{
    // ..
    CWinsock winsock{/*..*/};
    // ..
    int res = winsock.Connect(argv[1]);
    // ..
}

答案 1 :(得分:-1)

似乎简单

NSBackgroundColorAttributeName

或(同一件事)

int CWinsock::Connect(char** argv) {

我想念什么吗?