2017-02-21 5 views
0

Я пытаюсь запустить этот код из C++ Primer плюсC++ запятая оператор

#include <iostream> 
using namespace std; 

int main() { 
    int i = 20, j= 2*i; 
    cout << "i = " << i << endl; 
    int cats = 17,240; //No, I don't want the number 17240 
    return 0; 
} 

Почему я вижу эту ошибку ожидаемый безоговорочную идентификатор до того числовой константыint cats = 17,240;, я не знаю, нужно короткое объяснение. Спасибо

+0

Просто удалите ','. 'int cats = 17240;' – pingul

+0

что вы пытаетесь в точности с 17 240? –

ответ

2

int cats = 17,240; будет рассматриваться компилятором как int (cats = 17),240; из-за приоритет оператора. И int 240; не имеет смысла, поэтому выдается диагностика компилятора.

Вы хотите, чтобы 17240 кошек? Если это так, отбросьте запятую.

+0

См. Ссылку на книгу. Я просто пытаюсь запустить строки, написанные в книге под заголовком «Comma operator Tidbits» (ссылка в вопросе). –

+1

@DeepChandra: Не включайте такие ссылки в вопросы. Они могут быть хрупкими, а ваш конкретный недействителен в определенных юрисдикциях. – Bathsheba

+0

Связанные [разделители цифр в C++ 14] (http://stackoverflow.com/a/32556808/332733) – Mgetz

Смежные вопросы