Другие языки программирования и технологии

Онлайн компиляторы... стоит ли ими пользоваться для изучения c++?

Пользовался онлайн компилятором ideone.com. Набросал небольшой код. а он выдал ошибку, хотя на другой среде код работал. Вроде все правильно..

#include
using namespace std;

int main()
{
char abc[30];
cout<<"слово";
gets (abc);

return 0;
}

вот ошибка
prog.cpp: In function ‘int main()’:
prog.cpp:8:11: error: ‘gets’ was not declared in this scope
gets (abc);
^
Функция устаревшая и не рекомендуется к использованию. Особенно в С++ (изначально это функция C). К тому-же опасная (собственно это основная проблема).
В С++ используйте getline, в C можно fgets

http://www.cplusplus.com/reference/cstdio/gets/
Цитата:
The most recent revision of the C standard (2011) has definitively removed this function from its specification.
_The function is _deprecated_ in C++ (as of 2011 standard, which follows C99+TC3).

P.S: подключение cstdio ничего не даст в ideone и современном gcc н-р. Возможно в IDEOne можно выбрать древнючий компилятор С++, но я сходу не нашел.
"Убили Петруху..." (и правильно =)
ЖТ
Жека Трибо
84 764
Лучший ответ
Отличное средство для начального обучения
http://www.cplusplus.com/reference/cstdio/gets/
Ошибки надо исправлять
https://ideone.com/ZThIVQ
Для gets надо подключить cstdio или stdio.h

Онлайн компиляторы менее удобны, чем стационарная IDE. В них как правило нет отладчика.
Онлайн IDE с отладчиком https://www.onlinegdb.com/

Я попробовал, на ideone.com действительно нет функции gets, а на onlinegdb.com есть.
Илья Базаров
Илья Базаров
36 282
Для изучения я все же соватовал бы IDE. Для запуска все с "коробки" наверное Visual Studio, но она много весит. И наверное code::blocks - маленькая неплохая среда, но для старта лучше качать уже с компилятором. Потом разобравшись с Code::Blocks можно и компилятор отдельно ставить, но надо будет указывать пути для компилятора. И "родной" дебагер не дает просматривать ассемблерные листинги (для новичка ну совсем ненужная функция, да для спеца не всегда необходимая) поэтому можно будет установить TDM-GCC и там есть нормальный дебагер.