Ошибка: два или более типов данных в объявлении 'x' - PullRequest
0 голосов
/ 25 декабря 2018

Я компилирую программу на C ++, которая выдает ошибку «два или более типов данных в объявлении» в строке ниже.Вот код:

#include <iostream>
#include <string>
#include <sstream>
#include <stdlib.h>
List SplitInflix(const string infix)
{
List tokenlist;
string word= "";
char x;
for (char x : infix)
    {
    switch (x)
    {
    case '(':
        if (word != "")
        {
            Token* token = new Token(word);
            tokenlist.append(token);
            word = "";
            Token * token1 = new Token(LEFT);
            tokenlist.append(token1);
        }
        else
        {
            Token * token = new Token(LEFT);
            tokenlist.append(token);
        }
        break;
    ...
}
return tokenlist;
}

Я получаю ошибку:

ошибка: два или более типов данных в объявлении 'x'

Там больше кодирования, но это слишком долго, и я думаю, что это не связано с ошибкой.

Как я могу это исправить.Спасибо!

1 Ответ

0 голосов
/ 25 декабря 2018

for(:) является на основе диапазона для цикла и является c++ 11 функцией языка.Поэтому использование нижеуказанного выражения for(:):

for each (char x in infix)

Насколько я знаю, for(:) совместим с компилятором g++ и может быть несовместим с любым другим компилятором.

Затем удалите x декларацию из кода:

List SplitInflix(const string infix)
{
List tokenlist;
string word= "";
// char x;       Theres no need to this line
for each (char x in infix)
    {
    switch (x)
    {
    case '(':
        if (word != "")
        {
            Token* token = new Token(word);
            tokenlist.append(token);
            word = "";
            Token * token1 = new Token(LEFT);
            tokenlist.append(token1);
        }
        else
        {
            Token * token = new Token(LEFT);
            tokenlist.append(token);
        }
        break;
    ...
}
return tokenlist;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...