预处理指令后出现意外的

预处理指令后出现意外的

我创建了这个程序,由于某种原因,Visual Studio给出了这个“警告”(“预处理指令后出现意外的标记-预期换行”),同时还发现错误似乎在编译器声称它们的行的下一行引用了内容上。暂时,错误Carat Error似乎是指仅适用于one line down的内容。因此,我相信程序的标头中肯定有一些严重错误,但不确定,代码如下:

    //1/4/2017

#include "stdafx.h"
#include <iostream>
#include <vector>
#include <string>
#include <ctime>
#include <cstdlib>


using namespace std;

void getNewItem();
void displayItems();
void displayRand();
vector<string> vecItems;

int main()
{
    //declaration phase

    int intInput;
    string strNewItem;


    cout << "Random Item Generator" << endl << "Written by #XXXXX" << endl << "1. Add Item" << endl << "2. Display All Items " << endl << "3. Display Random Item" << endl << "4. Quit" << endl;
    while (intInput != 4)
    {
        cin >> intInput;
        switch (intInput)
        {
        case 1:
            getNewItem();
            break;

        case 2:
            displayItems();
            break;

        case 3:
            displayRand();
            break;
        }
    }
    return 0;
}

void getNewItem() {
    string strNewItem;
    cin >> strNewItem;
    vecItems.push_back(strNewItem);
}

void displayItems() {
    for (int i = 0; i < vecItems.size(); i++) {
        cout << vecItems.at(i) << endl;
    }
}

void displayRand() {
    int intRandIndex;
    //random number generator
    srand((unsigned)time(0));
    intRandIndex = rand() % 10;

    cout << vecItems.at(intRandIndex) << endl;
}


屏幕截图1

c&#43;&#43; - “预处理指令后出现意外的 token -预期换行”-LMLPHP

屏幕截图2

c&#43;&#43; - “预处理指令后出现意外的 token -预期换行”-LMLPHP

编辑:Visual Studio版本是Visual Studio 2015,并且我重新编译并在全新项目中运行都无济于事。

最佳答案

我猜想这个问题是否是某些编译器警告设置(默认情况下vs 2015)阻止了使用联合国初始化变量,因此请在使用inInput之前对其进行初始化:

int intInput = 0;

关于c++ - “预处理指令后出现意外的 token -预期换行”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41471251/

10-12 12:23