Грешка: ЦОУТ није декларисано у Ц++

Greska Cout Nije Deklarisano U C



Овај чланак говори о грешци која се јавља током програмирања на језику Ц++. Ова грешка је „Недефинисано ЦОУТ“ или „Недекларисано ЦОУТ“, у зависности од верзије Ц++ језика или типа вашег компајлера. Да бисмо боље разумели ову грешку, хајде да прво одредимо сврху кључне речи „цоут“ у језику Ц++ и када и где се користи. „Цоут“ је кључна реч у језику Ц++, која се користи за штампање или приказивање излаза нашег кода у прозору конзоле, као што су „принтл“ и „принтф“ на другим језицима као што су Ц и ЈАВА.

Да би се подаци приказали помоћу „Цоут“, подаци које желимо да се одштампају стављају се у стандардни излазни низ или ток користећи знак мање од два пута (<<), који се назива оператор уметања у језику Ц++. На пример, ако неко жели да одштампа фразу „Хелло Ворлд“ кроз свој код. Мораћемо да напишемо „цоут<<“Хелло Ворлд”<<ендл;”. У наставку се убацује стринг оператора „цоут“ Хелло Ворлд, а на крају се налази још једна кључна реч: „енд“. „Ендл“ говори систему где да заврши линију. „Цоут“ је дефинисан у заглављу језика Ц++ који је „иостреам.х“. Дакле, да бисте користили „цоут“ функционалност језика, морате увести датотеку заглавља иостреам пре писања кода. Грешка о којој ћемо овде расправљати настаје због недекларисане датотеке заглавља у коду. Једноставно морамо да ставимо „иостреам.х“ у заглавље да бисмо решили грешку.







Синтакса

Порука коју је компајлер послао за ову грешку је дата у наставку:



грешка: „цоут“ није декларисан у овом опсегу

Ово је грешка, тако да нема синтаксу. Има поруку коју смо вам показали изнад.



Пример #01

Сада ћемо извести примере да проверимо да ли је то једини разлог зашто се ова грешка јавља или се јавља из других разлога. У овом примеру ћемо покушати да одштампамо вредност низа користећи кључну реч „цоут“ и видимо шта се дешава. У ту сврху једноставно смо откуцали „цоут“ и после „цоут“ поставили операторе уметања, односно „<<“. Након оператора уметања, ставили смо наш стринг у двоструке наводнике, завршавајући нашу команду кључном речју „ендл“. Већ смо разговарали о сврси „ендл“ у нашем уводу — тако да нема потребе да о томе поново расправљамо овде.





Коначно смо вратили 0. Зато што наш главни метод има цео број типа враћања. Сада ћемо извршити наш код и видети шта ће се десити.



Наш код није успео да се изврши успешно и дао је грешку. Хајде да пажљиво прочитамо грешку и видимо на којој линији је компајлер показао грешку и која је грешка. Нажалост, компајлер није показао ниједан број реда, али ако видимо поруку о грешци, то је иста она о којој овде расправљамо. То значи да знамо разлог наше поруке о грешци. Сада ћемо отклонити грешку.

Да бисмо уклонили грешку, поставили смо датотеку заглавља, иостреам, на врх нашег кода. Сада ћемо поново извршити наш код и видети да ли ово решава нашу грешку или не. Након постављања датотеке заглавља или библиотеке на почетак нашег кода, можемо елиминисати грешку. Дакле, само постављањем датотеке <иостреам.х> као заглавља, уклонили смо грешку.

Пример #02

У овом примеру смо поставили нашу датотеку заглавља и покушали да напишемо наш код тако да нам не даје грешке. Да бисмо то урадили, у нашој главној функцији, декларисали смо два знака, „а“ и „б“. Проследили смо „Здраво“ на „а“ и „Свет“ на знак „б“. Након тога, у редовима 5 и 6, одштампали смо вредности „а“ и б користећи нашу кључну реч цоут. И коначно, вратили смо 0 јер је наша главна функција целобројног типа. У овом коду смо такође увезли нашу библиотеку заглавља иостреам-а. У случају да наиђемо на грешку. Сада, по изгледу, можемо рећи да је наш код комплетан, да неће изазвати никакву грешку и да ће се успешно компајлирати. Хајде да покушамо да извршимо наш код да видимо.

#инцлуде <иостреам>

инт главни ( )

{

цхар * а = 'Здраво' ;
цхар * б = “Свет” ;
цоут << а << ендл ;
цоут << б << ендл ;
повратак 0 ;


}

Компајлер је поново избацио исту грешку. Али поставља се питање ако смо увезли <иостреам> у наше заглавље, зашто смо онда наишли на исту грешку? Одговор је у грешци. Ако пажљиво прочитамо грешку, приложена је још једна порука која каже: „да ли сте мислили ’стд::цоут’?“. То значи да нам још увек нешто недостаје у нашем коду.

Да бисмо решили грешку, поставили смо „усинг намеспаце стд;“ након наше датотеке заглавља. Сада ћемо извршити наш код да видимо да ли смо решили нашу грешку.

Успешно смо добили наш излаз стављањем „намеспаце стд“ иза заглавља. Добили смо резултат како смо очекивали. Прво смо одштампали вредност „а“, која је била „Здраво“, а након тога смо одштампали вредност знака б, која је била „Свет“. На излазној слици можемо видети да смо успели да добијемо жељени резултат. Сада, хајде да разговарамо о узроку грешке. Кључна реч „цоут” је унапред дефинисани објекат библиотеке „иостреам.х” који приказује вредности на стандардним излазним уређајима. Ако пишемо програм у Ц++ компајлеру заснованом на Линук-у, потребан нам је „стд“ именски простор у нашем програму да би „избацио“ нашу вредност.

Закључак

У овом водичу смо разговарали о грешци која је веома основна грешка, а почетници би могли да добију ову грешку док вежбају свој код. Грешка је „Ундецларед Цоут“, Разговарали смо о узроку грешке, зашто се ова грешка појављује и разлозима због којих добијамо ову грешку. Такође смо изводили примере више пута да бисмо добили грешку, а затим смо решили грешку и показали вам излаз. Након тога, приказали смо и грешке како бисте практично разумели зашто се те грешке појављују. Открили смо више разлога зашто је дошло до ових грешака и решили их и елиминисали. Надам се да ће вам овај водич бити од помоћи док радите са кључном речи „цоут“.