little_greg Опубликовано 13 марта, 2009 Жалоба Поделиться Опубликовано 13 марта, 2009 Почему, когда пытаюсь написать программу в DEV-C++ на языке С она компилируется, а когда пытаюсь на C++ ничего не выходит((( #include <cstdlib> #include <iostream> using namespace std; main() { int pause; puts("Skolko baitov v odnom kilobaite?\n"); puts("Dlya polucheniya otveta nazhmite \"ENTER\"\n"); pause=getchar(); answer(); system("PAUSE"); return(0); } answer() { puts("V odnom kilobaite 1024 baita.\n"); } Ссылка на комментарий Поделиться на другие сайты Поделиться
Тролль Опубликовано 13 марта, 2009 Жалоба Поделиться Опубликовано 13 марта, 2009 Неясно, почему она у тебя компилируется на C, кое-что в ней не соответствует C. А вообще С и C++ разные, хотя и похожие языки. В виде #include <stdio.h>int answer(){puts("V odnom kilobaite 1024 baita.\n");}main(){puts("Skolko baitov v odnom kilobaite?\n");puts("Dlya polucheniya otveta nazhmite \"ENTER\"\n");getchar(); answer(); getchar();} твоя программа будет компилироваться и в C, и в C++. Ссылка на комментарий Поделиться на другие сайты Поделиться
little_greg Опубликовано 14 марта, 2009 Автор Жалоба Поделиться Опубликовано 14 марта, 2009 я просто только начинаю изучать с++, по книге А. Нейбауэр "Моя первая программа на с++" и там приведен пример: main { int pause; puts("Сколько байтов в 1 килобайте?\n"); puts("Для получения ответа нажмите ENTER\n"); pause=getchar(); answer(); return(0); } answer() { puts("В одном килобайте 1024 байта\n"); return(0); } когда я так пытаюсь ее выполнить в таком виде, она не выполняется, но если записать функцию answer() внутри функции main(), то программа работает. Ссылка на комментарий Поделиться на другие сайты Поделиться
Тролль Опубликовано 14 марта, 2009 Жалоба Поделиться Опубликовано 14 марта, 2009 little_greg: Программы в учебниках обычно рассчитаны на указанные в этих учебниках компиляторы. То, что написано в книге в расчете на один компилятор, может не работать с другим компилятором. Хотя существуют стандарты C и C++, их обычно не особенно придерживаются, и многие компиляторы разрешают то, что в других компиляторах не проходит. Например, вложение функций друг в друга в C официально не допускается, но некоторые компиляторы это разрешают. Кроме того, каждый разработчик комплектует свой компилятор своими библиотеками функций. То же с заголовочными файлами, то есть подключением библиотек этих функций - они бывают разными, кроме того, некоторые компиляторы могут сами искать и подключать нужные заголовочные файлы, другим надо их указать через #include. Или, например, у тебя функция answer вызывается до ее описания и объявления - некоторые компиляторы просмотрят текст программы дальше и найдут эту функцию, а некоторые потребуют, чтобы она была хотя бы объявлена раньше функции main, иначе они не смогут организовать ее вызов. Так же и с типами функций, одному компилятору надо указать его явно, другой запротестует, а третий сам придумает ей тип. По сути, C (и C++) - это группы похожих, но не одинаковых, языков. Тем более отличаются правила для C и C++. Поэтому - пробуй, компилятор при компиляции напишет, что именно ему не понравилось, и это легко скорректировать, или пиши так, чтобы компилятору не пришлось додумывать, что имелось в виду. И не очень полагайся на учебники, они пишутся под определенные компиляторы. Ссылка на комментарий Поделиться на другие сайты Поделиться
Гость Cloud Опубликовано 10 июля, 2009 Жалоба Поделиться Опубликовано 10 июля, 2009 При первом запуске wxDev 7, компилятор задают некоторые вопросы по поводу настроек: На первом шаге: wxDev can retrieve information from header files to help you find function, class and variable type information easily through a class browser and a code completion list. Although this feature is useful, it requires more CPU power and memory to function, and may not be suitable for all developers. Do you want to use it ? ...................... Это, как я понимаю, функция наподобие автозаполнения. Т.е. при воде первых симовлов какого-либо зарезервированного слова, функции и прочего, вылетает список с подходящими вариантами ? На следующем шаге: wxDev can create a cache containing the declarations found in global include files....... И варианты: -Создать каталог -Не создавать И возможно указать свой каталог "Parse this directory instead ..." Не могу понять, что за каталог предлагает создать Dev... Но если указать вариант создать и не указывать свой каталог, то Dev будет долго что-то делать с инклудными файлами Visaul Studio... Ссылка на комментарий Поделиться на другие сайты Поделиться
Тролль Опубликовано 10 июля, 2009 Жалоба Поделиться Опубликовано 10 июля, 2009 (изменено) Cloud: Да, если ввести, например, имя функции, то появится всплывающая подсказка по ее параметрам, как они записаны в заголовочном (include)файле. А насчет создания каталога - откуда такой перевод? Предлагается создать cache, то есть таблицу для быстрого поиска данных для подсказок. Можно, конечно, эту таблицу в переводе на русский назвать и каталогом, но это будет каталог в другом смысле, чем каталог файловой системы. Это просто таблица, которая будет создана по данным из заголовочных файлов, содержащихся в стандартном каталоге заголовочных файлов или же в каталоге по твоему указанию. "Долго что-то делать" и является разбором заголовочных файлов из их стандартного каталога и составлением общей таблицы их содержания для быстрого нахождения нужных подсказок. Изменено 10 июля, 2009 пользователем Тролль Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать учетную запись
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти