C++ 有人知道缺少什么头文件吗?

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

此代码适用于代码块,但不适用于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>::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++)
{

cout
std::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");
 }