| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > Почему не компилится...? |
| Автор: Dov 13.5.2003, 18:52 | ||
Почему не компилится этот код?
У меня VC++6. |
| Автор: Step 13.5.2003, 18:54 |
| а какую ошибочку дает не скажеш |
| Автор: Dov 13.5.2003, 18:59 |
| --------------------Configuration: sys - Win32 Debug-------------------- Compiling... SELF.CPP D:\Newman2\sys\SELF.CPP(5) : error C2065: 'TE' : undeclared identifier D:\Newman2\sys\SELF.CPP(5) : error C2017: illegal escape sequence D:\Newman2\sys\SELF.CPP(5) : error C2017: illegal escape sequence D:\Newman2\sys\SELF.CPP(5) : error C2017: illegal escape sequence D:\Newman2\sys\SELF.CPP(5) : error C2017: illegal escape sequence D:\Newman2\sys\SELF.CPP(5) : error C2017: illegal escape sequence D:\Newman2\sys\SELF.CPP(5) : error C2017: illegal escape sequence D:\Newman2\sys\SELF.CPP(5) : error C2017: illegal escape sequence D:\Newman2\sys\SELF.CPP(5) : error C2065: 'n' : undeclared identifier D:\Newman2\sys\SELF.CPP(5) : error C2146: syntax error : missing ';' before identifier 'nvoid' D:\Newman2\sys\SELF.CPP(5) : error C2065: 'nvoid' : undeclared identifier D:\Newman2\sys\SELF.CPP(5) : error C2146: syntax error : missing ';' before identifier 'main' D:\Newman2\sys\SELF.CPP(5) : error C2017: illegal escape sequence D:\Newman2\sys\SELF.CPP(5) : error C2017: illegal escape sequence D:\Newman2\sys\SELF.CPP(5) : error C2146: syntax error : missing ';' before identifier 'n' D:\Newman2\sys\SELF.CPP(5) : error C2143: syntax error : missing ';' before '{' D:\Newman2\sys\SELF.CPP(5) : error C2017: illegal escape sequence D:\Newman2\sys\SELF.CPP(5) : error C2065: 'ENIUQ' : undeclared identifier D:\Newman2\sys\SELF.CPP(5) : error C2143: syntax error : missing ';' before 'string' D:\Newman2\sys\SELF.CPP(5) : error C2296: '<<' : illegal, left operand has type 'char [1]' D:\Newman2\sys\SELF.CPP(5) : error C2297: '<<' : illegal, right operand has type 'char [4]' D:\Newman2\sys\SELF.CPP(9) : fatal error C1004: unexpected end of file found Error executing cl.exe. sys.exe - 22 error(s), 0 warning(s) |
| Автор: Step 13.5.2003, 19:04 |
| нашел у тебя много "}" возможно на них сбой..... |
| Автор: Dov 13.5.2003, 19:08 |
| Так это же внутри строки, как обычный символ. |
| Автор: Step 13.5.2003, 19:13 |
| интересно как компилятор воспримит такую последовательность \" |
| Автор: Step 13.5.2003, 19:14 |
| и что такое ТЕ, первая ошибка |
| Автор: Dov 13.5.2003, 19:15 |
| Так выводятся кавычки в строке |
| Автор: Dov 13.5.2003, 19:17 |
| Извиняюсь, просто у себя в проге я обрезал" TEMPLATE " до "TE". |
| Автор: Step 13.5.2003, 19:21 |
| ты нормальный код дай, может плохо обрезал |
| Автор: Dov 13.5.2003, 19:25 |
| #include <iostream.h> #define ENIUQ(TE) cout << TE << "(" << #TE << ");}"; void main() { ENIUQ("include <iostream.h>\ndefine ENIUQ(TE) cout << TE << \"(\" << TE << \");}\";\n\nvoid main()\n{ENIUQ"); } |
| Автор: Step 13.5.2003, 19:32 | ||
#define ENIUQ(TE) (cout << TE << "(" << #TE << ");}"); |
| Автор: Dov 13.5.2003, 19:37 |
| Не помогает. Вот так: << \""(\"" << выдаёт одну ошибку : fatal error C1057: unexpected end of file in macro expansion А вот так:<< \""(\"" << TE << \"");}\"" две : error C2001: newline in constant : fatal error C1057: unexpected end of file in macro expansion |
| Автор: Step 13.5.2003, 19:39 |
| извини забыл чу чуть, там где у тебя в кавычках один символ то двойные кавычки замени на одинарные..... |
| Автор: Dov 13.5.2003, 19:43 |
| Так ещё хуже |
| Автор: Step 13.5.2003, 19:44 |
| ну не знаю завтра загружу твой код на машину с с++ и посмотрю может че и накопаю |
| Автор: TiHo 14.5.2003, 09:18 | ||
| Скажи что программа должна делать? В таком виде проходит компиляция -
А если добавить # то 24 ошибки |
| Автор: Step 14.5.2003, 09:32 |
| программа должна выводить себя до определенной позиции |
| Автор: man2002ua 14.5.2003, 09:42 |
| Убери "#" |
| Автор: Step 14.5.2003, 09:54 |
| man2002ua а чем он мешает |
| Автор: Unregistered 15.5.2003, 09:25 |
| # это директива препроцесора когда компилятор находит # он хочет INCLUDE DEFINE и т.д. |
| Автор: TiHo 15.5.2003, 09:36 |
| # это директива препроцесора когда компилятор находит # он хочет INCLUDE DEFINE и т.д в смысле, это я написал |
| Автор: Step 15.5.2003, 16:12 |
| но она стоит в кавычках и анализироваться не должне |
| Автор: TiHo 18.5.2003, 11:57 |
| Step В том-то и дело, что без кавычек... << #TEMPLATE << |