gpt4 book ai didi

c++ - 编译错误 QT - 无法从类型进行转换

转载 作者:太空宇宙 更新时间:2023-11-04 04:56:55 25 4
gpt4 key购买 nike

我尝试在 QT 上编译一个项目,但显示了许多错误,其中之一在第二行:

QString filename = QFileDialog::getSaveFileName(...
printf("save clustering: %s\n",filename.toStdString() ); // ERROR

... error: cannot cast from type 'std::string' (aka 'basic_string, allocator >') to pointer type 'char *' printf("save clustering: %s\n",filename.toStdString() );

这个项目是在 Linux (gcc 5.2.1) 上构建的,但我转移到了 Mac OS X Sierra (gcc 5.4.0)。我不知道我能做些什么来解决这个问题。有人可以帮助我吗?

最佳答案

printf 无法将 std::string 作为参数处理,您必须选择其中之一:

filename.toLocal8Bit.data()
filename.toLatin1().data()
filename.toStdString().c_str()
filename.toStdWString().c_str()

关于c++ - 编译错误 QT - 无法从类型进行转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43944414/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com