说明: #define STR "123"
std::string str = "ABC";
str += GetNameStr() + GetPwdStr() +":" + STR;
为什么可以这样,这个宏可以直接加上去。
而
std += "abc"+"cba";
为什么就会提示不能添加两个指针
因为string类重载了+=和+
http://www.cplusplus.com/reference/string/string/operator+=/
string operator+ (const string& lhs, const char* rhs);
string& operator+= (const string& str);
而你的char *和char *想加则不行了,两个指针相加是不行的(这里也不可能隐式转换)
以我多年的经验,肯定是。。。。。。。。。。。。。。str写成了std,std是命名空间哦,肯定报错