Re: C++
1)разделом ошибся...
2)видимо, надо было писать не main, а WinMain. Либо надо было с другими настройками проект создавать.
![](/images/graemlins/wink.gif)
Хотя если опускаться до неуважения к собеседнику, то можно вообще указать всего одну ошибку (все остальные - производными будут)...
![](/images/graemlins/mad.gif)
или учи английский - в тексте ошибки всё чётко указано
ну и че? вопрос в том, что делать?
всё чётко указанодля этого одного англиского маловато будет. Короче, я уже указал хинт, если по нему копать - можно написать компилирующуюся прогу. Или можно попытаться на другом компилере (проще поставить bc, если стоит цель именно C++ поботать с нуля - там таких проблем не будет, скорее всего)
Во-вторых, у тебя ошибка в принтфе, скорее всего ты имел в виду
printf("now year %d\n",y);
printf("now year %d\n",y);кстати, да... Сначала хотел сказать, но пока формулировал первые две ошибки, третью забыл напрочь.
Попробуй для начала их поизучать и позапускать.
Или возьми какую-нибудь книжку по твоей среде, где по шагам написано, что надо делать (по идее это даже в помощи к среде должно быть).
Только начинаю учиться. Пишу такую простую прогу в Sourse files:
#include <stdio.h>
main(void)
{
int y;
y=2006;
printf("now year\n",y);
}
Выдает 2 ошибки.
LIBCD.lib(wincrt0.obj) : error LNK2001: unresolved external symbol 16
Debug/1.exe : fatal error LNK1120: 1 unresolved externals
Может это <stdio.h> не подключился?
Что это значит? Что не так?
![](/images/graemlins/lol.gif)
глядя на этот код, вспоминаю очень далекое детство.
начни пожалуй с чтения книжек по языку программирования
То что у тебя - это не прога на C++, это прога на C с ошибками. Язык C не является подмножеством языка C++, вопреки типичному заблуждению новичков.
Чтобы твоя прога линковалась без ошибок, как тебе уже несколько раз сказали, надо создать проект типа "Console Application", и в него включить единственный модуль, содержащий твой код.
Для информации: MSVC воспринимает файлы *.c как модули на C, а файлы *.cpp как модули на C++.
Кроме того твоя функция main должна возвращать величину типа int, но не делает этого (компилятор должен был выдать warning). Кстати синтаксис объявления функции без указания возвращаемого типа (такие функции должны возвращать int по-умолчанию) давно устарел и считается очень плохим стилем (об этом тоже компилятор должен был выдать warning еще с выхода первого стандарта в далеком 1989 году.
И тебе справедливо указал насчет printf - читай описание этой функции, ты походу вообще не понимаешь как она работает (и как работает компилятор C). Поскольку твой первый параметр (строка формата) не содержит никаких спецификаторов формата, то ничего кроме содержимого строки формата напечатано не будет, и второй параметр "y" - лишний.
Если настолько не разбираешься в С, начни с какого нибудь нормального языка, Haskell, perl, Ява в конце концов. Начинать программировать с С ничего хорошего, мозги так же портит как basic.
начни с какого нибудь нормального языка [...] perlЕще бы shell предложил.
начни с какого нибудь нормального языка, Haskell, perl, Ява в конце концовЕсть ли хоть один живой пример, который заботал перл или яву, не изучая перед этим си? Хочу посмотреть на этого человека. Интересны его ощущения.
Java/C# - отлично учится без знания C.
И без знания с++, естественно?
c/c++, намного сложнее в освоении, чем Java/C#.
Java/C# как минимум можно изучать методом проб и ошибок, в отличии, от c/c++
ну ясен пень, ты же с сей начал, потом плюсы добавил, а потом уже за диалекты взялся - вот они и получились проще в освоении
мне самому пофигу какой язык учить, я их и так штук тридцать знаю.
по окружающим могу твердо выделить, что средний человек (не программист):
который начинает обучение с C/C++ - больше к программированию не возвращается
начинающий с vb/java/c#/дельфи - пытается и дальше какие-то программки писать.
зы
я, вообще, начинал с basic-а(БК, Корвет, спектрум потом ассемблер (спектрум затем паскаль и только потом C++.
У меня есть знакомый из Новой Зеландии, они в университете учат сначала Haskell а только потом C. Я думаю в зарубежных университетах это обычная практика. Мое личное мнение - программируя на Haskell-е можно научиться программировать, программируя на С можно научиться программировать на С.
э-э-э... я вот С не знаю абсолютно... При этом не пишу на перле, но чужой код, написанный до меня, подправляю и дописываю... не без помощи яндекса, конечно... что я делаю не так?
Имхо, все зависит от того, по какому пособию (или у кого) ты учишься.
Поздравляю - ты крут.
К сожалению, большинство - не такое.
ps
да, кстати, ты уже про себя можешь сказать, что ты умеешь программировать?
и что для тебя это значит?
#include <stdio.h>
int main(void)
{
printf("Yes! Moya firstovaya proga! \n");
return 0;
}
будет много непонятного, смысл int main(void #include и т.п. А уж про WinMain, оконные функции и т.п. я и не вспоминаю... То есть проблема в том, что для начала здесь слишком много непонятных вещей, которые на первом этапе было бы полезно скрыть, пока мышление не подготовится.
#include <stdio.h>
синтаксическая ошибка, отсутствует тип функции main должен быть int
main(void)
Оставить комментарий
svetlinka
Только начинаю учиться. Пишу такую простую прогу в Sourse files:#include <stdio.h>
main(void)
{
int y;
y=2006;
printf("now year\n",y);
}
Выдает 2 ошибки.
LIBCD.lib(wincrt0.obj) : error LNK2001: unresolved external symbol 16
Debug/1.exe : fatal error LNK1120: 1 unresolved externals
Может это <stdio.h> не подключился?
Что это значит? Что не так?