我不能在Qt中用C++代码定义字符串
我的代码如下我不能在Qt中用C++代码定义字符串,c++,qt,import,C++,Qt,Import,我的代码如下 #include "test.h" #include "string" #include "iostream" using namespace std::string::find; test::test(){ string str ("ffs test ffs"); string str2 ("test"); if (str.find(str2) != std::string::npos) { std::cout << "fo
#include "test.h"
#include "string"
#include "iostream"
using namespace std::string::find;
test::test(){
string str ("ffs test ffs");
string str2 ("test");
if (str.find(str2) != std::string::npos) {
std::cout << "found" << "\n";
} else {
std::cout << "not found" << "\n";
}
}
我的问题是,当试图在C++文件中定义一个字符串时,Qt表示未知的类型名“string”。同样在第4行,我的“导入”突出显示字符串,就好像它不存在一样,尽管它是编辑器在我键入时向我建议的一个选项。我做错了什么?我发现的一切都是试图解决问题,将东西传递给QString,而据我所知,与我的问题无关。我在所有导入上都尝试了导入include和include thing这两种类型,但似乎没有什么区别。
使用std::string而不是string不要使用using namespace当然在您的情况下,它不是一个名称空间,所以这是另一个错误,用于系统标题。在包含适当的标题iostream、string等后,您可以编写:
using std::string;
这将只将名称空间std中的字符串引入程序。
如果希望避免到处键入std::string,那么可以这样做。您也可以对cout、cin等流对象执行此操作
在代码中使用Scope operator::并手动访问std类
std::string
它会帮助你的 这与Qt无关。你试过像include这样合适的include吗?是的,我试过两种方法,都是完全相同的错误。这是一个有趣的答案。你能解释一下为什么不应该使用名称空间吗?
using std::cout;
using std::cin;
std::string