首页 > 解决方案 > 如何为 std::vector 的每个循环使用>?

问题描述

我正在尝试使用 for each 循环来遍历字符串向量,但我不断收到一条错误消息: expected initializer before ':' token. 这是我的代码:

#include <string>
#include <vector>
#include <iostream>
std::vector<std::string> tokens {"Dog","Ship","Coffee","Laptop","Shoe","McDonald's Cup","Airplane","Cellphone"};
int token_num=1;
for (std:string& token : tokens) {
     std::cout<<token_num<<": "<<token<<"\n";
     token_num++;
}

我也试过:

std::vector<std::string> tokens {"Dog","Ship","Coffee","Laptop","Shoe","McDonald's Cup","Airplane","Cellphone"};
int token_num=1;
for (const auto& token : tokens) {
     std::cout<<token_num<<": "<<token<<"\n";
     token_num++;
}

但我遇到了同样的错误。我究竟做错了什么?

标签: c++

解决方案


好像你错过了int main() 检查一下,这很好用。

#include<bits/stdc++.h>
using namespace std;

int main(){
    vector<string> tokens {"Dog","Ship","Coffee","Laptop","Shoe","McDonald's Cup","Airplane","Cellphone"};
    int token_num=1;
    for (string& token : tokens) {
         cout<<token_num<<": "<<token<<"\n";
         token_num++;
    }


    token_num=1;
    for (const auto& token : tokens) {
        cout<<token_num<<": "<<token<<"\n";
        token_num++;
    }
    return 0;
}

推荐阅读