我已经在“String.cpp”(类String
)中定义了我自己的字符串类,在一些返回类型为String
的函数中,我试图返回std::string
,但它抛出错误错误:
Cannot use std::string to initialize PiaStd::String
请帮忙
String System::getHostName()
{
// in between code
std::string result;
struct addrinfo* p;
for(p = ppResult; p != 0; p=p->ai_next)
{
result += std::string(p->ai_canonname);
}
Freeaddrinfo(ppResult);
return result;
}
答案 0 :(得分:2)
问题是编译器不知道如何从std::string
创建字符串。您需要通过编写以下内容之一来提供一种方法:
PiaStd::String
的构造函数,以const std::string&
作为参数,或std::string
到PiaStd::String
您也可以更改getHostName()
以制作自定义字符串,或者返回std::string
。