【发布时间】:2017-10-12 04:01:59
【问题描述】:
我尝试在 QT 上编译一个项目,但显示了很多错误,其中一个在第二行:
QString filename = QFileDialog::getSaveFileName(...
printf("save clustering: %s\n",filename.toStdString() ); // ERROR
... 错误:无法从类型“std::string”(又名“basic_string,分配器>”)转换为指针类型“char *” printf("保存聚类:%s\n",filename.toStdString());
这个项目是在 Linux (gcc 5.2.1) 上构建的,但我转移到了 Mac OS X Sierra (gcc 5.4.0)。我不知道我能做些什么来解决这个问题。谁能帮帮我?
【问题讨论】:
-
您可能需要调用该字符串的
c_str()函数。但是,您为什么使用printf()而不是std::cout?