Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > C++

Закрытая тема
 
Опции темы
Старый 17.05.2012, 12:12   #1
impersonalis
Зануда с интернетом
 
Аватар для impersonalis
 
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений
(для 20,935 пользователей)
Размер массивв

Очевидная и общепринятая вещь: размер (автоматического) массива должен задаваться константой. Это же можно прочитать у Страуструпа (2011 г):

Нажмите на изображение для увеличения
Название: Буфер обмена02.jpg
Просмотров: 953
Размер:	48.5 Кб
ID:	16869

ЕМНИП, на старой доброй 6-ой студии так и было.
(upd: на "2008 экспресс" тоже не собирается с однозначным указанием на проблему.)
Внезапно, нижеследующий код успешно транслируется и выполняется (GCC):

#include <iostream>
#include <stdlib.h>
using namespace std;

int main()
{
    int x;
    cin>>x;
    char t[x];
    for(int j=0;j<x-1;j++){
        t[j]=33+rand()%20;
    }
    t[x-1]=0;
    cout<<t<<endl;

    return 0;
}
Выделенная строка соответствует коду, помеченному в книге как ошибочный.

как жить дальше?
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?

Последний раз редактировалось impersonalis, 17.05.2012 в 14:38.
(Offline)
 
Старый 17.05.2012, 12:33   #2
den
Дэвелопер
 
Аватар для den
 
Регистрация: 13.02.2010
Сообщений: 1,645
Написано 620 полезных сообщений
(для 2,419 пользователей)
Ответ: Размер массивв

Сообщение от google Посмотреть сообщение
Это расширение С - С99, не включённое в стандарт C++. gcc позволяет использовать некоторые расширения C99 при программировании на C++, но не внутри классов. Динамические массивы C99 создаются на стеке, и память ими занимаемая автоматически освобождается при выходе из функции.
1234
(Offline)
 
Эти 5 пользователя(ей) сказали Спасибо den за это полезное сообщение:
HolyDel (18.05.2012), impersonalis (17.05.2012), Mr_F_ (17.05.2012), Reks888 (17.05.2012), Samodelkin (18.05.2012)
Закрытая тема


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 01:34.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com