powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / И снова туплю)
7 сообщений из 7, страница 1 из 1
И снова туплю)
    #34671325
Tubrik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
	for (char c, int i =  0 ; i <=  10 ; i++)
		printf("\n%u", i);

такое работает, но если:
Код: plaintext
1.
for (stLine *line, StackNode *iter = m_stack_lines.LastPtr(); iter; iter = iter->nextPtr)

думает, что stLine *line, StackNode это значит две переменные типа stLine, одна указатель *line и вторая StackNode, а *iter просит убрать нафиг.

Никто не скажет почему?
...
Рейтинг: 0 / 0
И снова туплю)
    #34671338
daevaorn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Tubrik
Код: plaintext
1.
2.
	for (char c, int i =  0 ; i <=  10 ; i++)
		printf("\n%u", i);

такое работает, но если:
Код: plaintext
1.
for (stLine *line, StackNode *iter = m_stack_lines.LastPtr(); iter; iter = iter->nextPtr)

думает, что stLine *line, StackNode это значит две переменные типа stLine, одна указатель *line и вторая StackNode, а *iter просит убрать нафиг.

Никто не скажет почему?
потому что в for объявлять можно переменные "одного типа".
...
Рейтинг: 0 / 0
И снова туплю)
    #34671364
Tubrik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
for (char c, int i =  0 ; i <=  10 ; i++)
		printf("\n%u", i);
это вроде тоже не одного типа или они автоматически приводятся к одному?
Код: plaintext
1.
StackNode	line, StackNode iter 
такой вариант компилятор тоже не устраивает и такой:
Код: plaintext
for (char *c, int *i =  0 ; i <=  10 ; i++)
...
Рейтинг: 0 / 0
И снова туплю)
    #34671734
daevaorn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Tubrik
Код: plaintext
1.
for (char c, int i =  0 ; i <=  10 ; i++)
		printf("\n%u", i);
это вроде тоже не одного типа или они автоматически приводятся к одному?
Код: plaintext
1.
StackNode	line, StackNode iter 
такой вариант компилятор тоже не устраивает и такой:
Код: plaintext
for (char *c, int *i =  0 ; i <=  10 ; i++)

да. все эти три конструкции не правильные.
...
Рейтинг: 0 / 0
И снова туплю)
    #34671940
Alexsalog
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tubrik
Код: plaintext
1.
for (char c, int i =  0 ; i <=  10 ; i++)
		printf("\n%u", i);
это вроде тоже не одного типа или они автоматически приводятся к одному?
Код: plaintext
1.
StackNode	line, StackNode iter 
такой вариант компилятор тоже не устраивает и такой:
Код: plaintext
for (char *c, int *i =  0 ; i <=  10 ; i++)

что в переводе на русский язык означает:
адресу (некой переменной типа int) мы присваиваем ноль, следим чтобы этот адрес был не больше 10, увеличиваем этот адрес на 1 за цикл.
Бред правда?
...
Рейтинг: 0 / 0
И снова туплю)
    #34671951
ErV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexsalog wrote:

> увеличиваем этот адрес на 1 за цикл.
на sizeof(int), а не на 1...
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
И снова туплю)
    #34672397
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tubrik
Код: plaintext
1.
2.
	for (char c, int i =  0 ; i <=  10 ; i++)
		printf("\n%u", i);

такое работает

Такая конструкция for-initialization-statement вообще не допустима, как и обычный definition. Имхо, это кровется в спецификации опретора запятая. Если есть желанием можете покапать стандарт в 6.5.3 и 5.18.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / И снова туплю)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]