Форум программистов, компьютерный форум CyberForum.ru

В чем ошибка? - C++

Восстановить пароль Регистрация
 
 
Lego9
0 / 0 / 0
Регистрация: 20.01.2014
Сообщений: 12
20.01.2014, 19:43     В чем ошибка? #1
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include <iostream> 
using namespace std;
 
void funГ±_1(); 
void func_2();
int count; // ГќГІГ® ãëîáГ*ëüГ*Г*Гї ïåðåìåГ*Г*Г*Гї. 
 
int main()
    {
          int i; // ГќГІГ® ëîêГ*ëüГ*Г*Гї ïåðåìåГ*Г*Г*Гї.
              for(i=0; i<10; i++)
              { 
                count = i * 2; 
                funГ±_1();
              }
          return 0;
    }
void func_1()
    {
         cout << "count " << count; // ГЋГЎГ°Г*Г№ГҐГ*ГЁГҐ ГЄ ãëîáГ*ëüГ*îé ïåðåìåГ*Г*îé. 
         cout << '\n'; // Âûâîä ñèìâîëГ* Г*îâîé ñòðîêè. 
         func_2();
    }
void func_2()
    {
         int count; // ГќГІГ® ëîêГ*ëüГ*Г*Гї ïåðåìåГ*Г*Г*Гї.
         for(count=0; count<3; count++) cout <<'.';
    }
Сообщение об ошибке выдает следующее:

Êîìïèëÿòîð: Default compiler
Âûïîëíåíèå g++.exe...
g++.exe "D:\GSM\Downloads\Ïðîãðàììèðîâàíèå\C++\MyC++files\2.cpp" -o "D:\GSM\Downloads\Ïðîãðàììèðîâàíèå\C++\MyC++files\2.exe" -g3 -I"C:\Dev-Cpp\lib\gcc\mingw32\3.4.2\include" -I"C:\Dev-Cpp\include\c++\3.4.2\backward" -I"C:\Dev-Cpp\include\c++\3.4.2\mingw32" -I"C:\Dev-Cpp\include\c++\3.4.2" -I"C:\Dev-Cpp\include" -L"C:\Dev-Cpp\lib" -g3
D:\GSM\Downloads\Ïðîãðàììèðîâàíèå\C++\MyC++files\2.cpp:4: error: stray '\241' in program
D:\GSM\Downloads\Ïðîãðàììèðîâàíèå\C++\MyC++files\2.cpp:4: error: `fun' does not name a type

D:\GSM\Downloads\Ïðîãðàììèðîâàíèå\C++\MyC++files\2.cpp: In function `int main()':
D:\GSM\Downloads\Ïðîãðàììèðîâàíèå\C++\MyC++files\2.cpp:11: error: expected `)' before ';' token
D:\GSM\Downloads\Ïðîãðàììèðîâàíèå\C++\MyC++files\2.cpp:11: error: expected primary-expression before ')' token
D:\GSM\Downloads\Ïðîãðàììèðîâàíèå\C++\MyC++files\2.cpp:11: error: expected `;' before ')' token
D:\GSM\Downloads\Ïðîãðàììèðîâàíèå\C++\MyC++files\2.cpp:14: error: stray '\241' in program

D:\GSM\Downloads\Ïðîãðàììèðîâàíèå\C++\MyC++files\2.cpp: In function `void func_1()':
D:\GSM\Downloads\Ïðîãðàììèðîâàíèå\C++\MyC++files\2.cpp:20: error: `count' undeclared (first use this function)
D:\GSM\Downloads\Ïðîãðàììèðîâàíèå\C++\MyC++files\2.cpp:20: error: (Each undeclared identifier is reported only once for each function it appears in.)

Âûïîëíåíèå çàâåðøåíî
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.01.2014, 19:43     В чем ошибка?
Посмотрите здесь:

в чем ошибка? C++
C++ в чем ошибка?
В чем ошибка? C++
C++ В чем ошибка?
C++ В чем ошибка?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Lego9
0 / 0 / 0
Регистрация: 20.01.2014
Сообщений: 12
20.01.2014, 20:33  [ТС]     В чем ошибка? #21
Так, Господа, простите великодушно, но Вы общаетесь между собой... А мне кто-нибудь объяснит, почему если не объявлять пространство имен, то компилируется, а если объявлять то нет?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
mustimur
268 / 222 / 57
Регистрация: 22.11.2013
Сообщений: 832
Записей в блоге: 1
20.01.2014, 20:36     В чем ошибка? #22
Цитата Сообщение от Lego9 Посмотреть сообщение
Так, Господа, простите великодушно, но Вы общаетесь между собой... А мне кто-нибудь объяснит, почему если не объявлять пространство имен, то компилируется, а если объявлять то нет?
так просто если объявлять пространство имен, то cout становится эквивалентом std::cout, а твой count эквивалентным std::count, т.е. объявленным
KOPOJI
Модератор
 Аватар для KOPOJI
16243 / 6454 / 390
Регистрация: 12.06.2012
Сообщений: 19,362
20.01.2014, 20:36     В чем ошибка? #23
Lego9, потому что этой строкой вы указываете программе использовать пространство имен std. А в нем как раз и находится объявление count. Пространство имен - это, если говорить простым языком, некий "ящик", в который можно сложить некоторую часть. Вот в std и сложили (много чего туда сложили..). Чтобы получить данные из этого ящика, вам необходимо либо обратиться к нему по имени - namespace (например, "ящик кухонного стола"), а затем достать из него нужную вещь (например, ложку). Пространства имен позволяют более удобно распределять информацию. Например, вы можете взять ножик из кухонного стола (ящик_кухонного_стола::ножик), а можете взять из ящика с инструментами (ящик_с_инструментами::ножик). И человеку, которого вы попросите, будет понятно, откуда взять - из кухонного стола или из ящика с инструментами.
Так, вот, отличия (стол::ножик) от (using стол) получается в том, что в случае namespace вы, как бы, говорите "Все, что я буду просить - надо брать из этого ящика". Да, это удобно, но, если вы попросите человека взять ножик из ящика с инструментами, сказав просто "дай ножик", то он даст вам ножик именно из стола (ведь вы ему сказали "если чего-то рядом нет - все, что мне надо - в этом ящике").

А в случае без использования пространства имен вы говорите просто "Дай ножик из стола", "Дай ножик из ящика с инструментами"..

Надеюсь, что понятно (и без ошибок) объяснил..

Впрочем, если, как я понял, вы изучаете плюсы, то скоро вы до этого дойдете
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.01.2014, 20:39     В чем ошибка?
Еще ссылки по теме:

C++ в чем ошибка?
C++ В чем ошибка?
В чем ошибка? C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Lego9
0 / 0 / 0
Регистрация: 20.01.2014
Сообщений: 12
20.01.2014, 20:39  [ТС]     В чем ошибка? #24
Всем спасибо. Всё понял.
Yandex
Объявления
20.01.2014, 20:39     В чем ошибка?
Ответ Создать тему
Опции темы

Текущее время: 08:15. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru