매크로 문자열 추가(char* 추가) 문제

2444 단어 당면한 문제

문제 설명

#define IP "127.0.0.1"
#define PORT "8001"

string strUrl = IP + ":"+ PORT + "/test-web/test/testquery";

//  error: invalid operands of types ‘const char [10]’ and ‘const char [2]’ to binary ‘operator+’

원인


string 클래스가 다시 불러왔기 때문에 +=와 +
string operator+ (const string& lhs, const char*   rhs);
string& operator+= (const string& str);

당신의char*와char*를 추가하려면 안 됩니다. 두 바늘을 더하면 안 됩니다. (여기도 은밀한 전환이 불가능합니다.)

올바른 방식

string strUrl = string(IP) + ":"+ string(PORT) + "/test-web/test/testquery";

보충하다


1,string+char*,char*+string,char*+char*는 안 됩니다.2. 매크로 정의 문자열은char*;

좋은 웹페이지 즐겨찾기