C | Синтаксическая ошибка: идентификатор ‘i’

#c #syntax #identifier

#c #синтаксис #идентификатор

Вопрос:

Эй, ребята, я почти уверен, что у кого-то еще тоже была эта проблема, но я просто не смог найти никаких связанных проблем. Это также, вероятно, что-то действительно глупое, например, опечатка или что-то в этом роде, но я не могу в этом разобраться >.<

Что не так с кодом, я всегда получаю эту ошибку:

ошибка C2061: синтаксическая ошибка: идентификатор ‘i’

 #include <iostream>
#include <string>
using namespace std;

class MahinLuokka {
    public:
        void setNum(int);
        int getNum();
    private:
        int mahi_num;
};

int main()
{
    int i;
    do {
        cout << "Insert number between 1-100" << endl;
        cin >> i;
    } while i > 100 || i < 0;
    MahinLuokka mahi;
    mahi.setNum(i);
    cout << mahi.getNum() << endl;
    mahi.setNum(5);
    cout << "mahi_num set to 5" << endl;
    cout << mahi.getNum() << endl;

    // end
    int x;
    cin >> x;
    return 0;
}

void MahinLuokka::setNum(int number)
{
    mahi_num = number;
}

int MahinLuokka::getNum()
{
    return mahi_num;
}
  

Комментарии:

1. Попробуйте упростить код, пока ошибка не исчезнет, затем посмотрите на последнее, что вы изменили.

Ответ №1:

Вам нужно заключить условия в круглые скобки. Другими словами, измените это:

 } while i > 100 || i < 0;
  

К этому:

 } while(i > 100 || i < 0);
  

Комментарии:

1. ofc. спасибо, я глупый, я знал, что это было что-то настолько глупое … =S

Ответ №2:

while требуется ( , поэтому он должен быть while (i > 100 || i < 0);