gpt4 book ai didi

c++ - Qt错误iso c++禁止比较指针和整数-fpermissive

转载 作者:行者123 更新时间:2023-11-30 01:36:31 26 4
gpt4 key购买 nike

我在这个控制台应用程序中使用 Qt 4.5.1,当我想在 if 语句 行接收用户输入时,它收到此错误:

iso c++ forbids comparison between pointer and integer -fpermissive

这是我的代码:

#include <cstdlib>
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
char ans;
QDir mDir;
QString mPath("A:/inetpub/wwwroot/xampp");
if (mDir.exists(mPath))
qDebug() << mDir.exists();

else {
qDebug() << "Do you wanna create the path? Y / N";
// getline(cin, ans);
cin >> ans;
if (ans == "y") {
qDebug() << "Now I create one";
mDir.mkpath(mPath);
}
}

return a.exec();
}

我还有另一个琐碎的独立问题;为什么我不能在 Qt 中以这种方式使用 getline(cin,string) 函数?

最佳答案

你正在比较 string literalchar

  if (ans == "y") 

应该是

  if (ans == 'y') 

回答你的第二个问题。getline() 用于从输入流中读取一个字符串或一行而不是单个 char。语法如下。

istream& getline (istream& is, string& str);

关于c++ - Qt错误iso c++禁止比较指针和整数-fpermissive,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51906599/

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