C++ 有人知道缺少什么头文件吗?
此代码适用于代码块,但不适用于Visual Studio:C++ 有人知道缺少什么头文件吗?,c++,visual-studio-2015,C++,Visual Studio 2015,此代码适用于代码块,但不适用于Visual Studio: // A simple program that prints string test1: #include <iostream> #include <vector> using namespace std; int main() { vector<string> test1 = { "pooping","reading" }; for (vector<string&g
// A simple program that prints string test1:
#include <iostream>
#include <vector>
using namespace std;
int main()
{
vector<string> test1 = { "pooping","reading" };
for (vector<string>::iterator iter = test1.begin(); iter != test1.end(); iter++)
{
cout << *iter << endl;
}
system("pause");
}
//打印字符串test1的简单程序:
#包括
#包括
使用名称空间std;
int main()
{
向量test1={“poping”,“reading”};
对于(向量::迭代器iter=test1.begin();iter!=test1.end();iter++)
{
coutstd::basic_string
在
标题中正式定义。请参阅。\include
类模板基本_字符串存储和操作类字符对象的序列。该类既不依赖于字符类型,也不依赖于该类型上操作的性质。操作的定义通过Traits模板参数提供-std::char_Traits的特化或兼容Traits类。有关更多信息,请参阅详情请看
添加头后,程序将无法编译,并将抛出错误
"error: in C++98 'test1' must be initialized by constructor, not by '{...}'"
检查以下程序,然后使用另一种方法初始化向量
根据其他人的建议,您需要添加
#include<string>
#包括
//打印字符串test1的简单程序:
#include <iostream>
#include <vector>
#include<string>
using namespace std;
int main()
{
static const string arr[] = {"pooping","reading"};
vector<string> test1 (arr, arr + sizeof(arr) / sizeof(arr[0]) );
for (vector<string>::iterator iter = test1.begin(); iter != test1.end(); iter++)
{
cout << *iter << endl;
}
system("pause");
}
#包括
#包括
#包括
使用名称空间std;
int main()
{
静态常量字符串arr[]={“poping”,“reading”};
向量test1(arr,arr+sizeof(arr)/sizeof(arr[0]);
对于(向量::迭代器iter=test1.begin();iter!=test1.end();iter++)
{
cout@JerryCoffin仔细看,你想要星号,但是你缺少了一个标题(
)。@JerryCoffin Yep,现在在我放入标题字符串时工作。我只是想知道为什么代码在代码块(没有标题字符串)中工作,而不是在visual studio中工作……可能是代码中的错误Blocks@piyushj不,不是那只。不完全是一只虫子(或者不在编译器中)。任何标准头都允许包含任何或所有其他头(但这不是必需的,因此您希望包含您使用的头,即使您使用的编译器没有它也可以)。
#include<string>
#include <iostream>
#include <vector>
#include<string>
using namespace std;
int main()
{
static const string arr[] = {"pooping","reading"};
vector<string> test1 (arr, arr + sizeof(arr) / sizeof(arr[0]) );
for (vector<string>::iterator iter = test1.begin(); iter != test1.end(); iter++)
{
cout << *iter << endl;
}
system("pause");
}