我有无法编译的代码
import std.string;
import std.net.curl;
int main(string[] argv)
{
string a = get("http://google.com");
return 0;
}
Error: cannot implicitly convert expression (get("http://google.com", AutoProtocol())) of type char[] to string
在http://dlang.org/phobos/std_net_curl.html中有代码
import std.net.curl, std.stdio;
// Return a string containing the content specified by an URL
string content = get("dlang.org");
为什么我不能编译相同的代码?
答案 0 :(得分:9)
示例错误 - get返回char []而不是string。区别在于字符串是不可变的,但char不是。
两种解决方法:
char[] a = get("http://google.com"); // or you could do auto a = ... instead
或
string a = get("http://google.com").idup;
第二个产生数据的不可变副本。第一个使用适当的类型。