Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
lest_
0 / 0 / 0
Регистрация: 28.11.2013
Сообщений: 94
#1

Error C2065: необъявленный идентификатор - C++

08.07.2014, 09:11. Просмотров 970. Ответов 16
Метки нет (Все метки)

В учебнике пишут, что если оператор new не может выделить память для нового объекта, он возвратит нулевой указатель, который содержит значение 0. Поскольку ссылка не может быть нулевой, то инициализировать ссылку на эту область памяти нельзя до тех пор, пока не будет установлено, что она не нулевая. В следующем примере показано, как это сделать:

C++
1
2
3
int *pInt = new int;
if (pInt != NULL)
   int &rInt = *pInt;

я сделал, как сказано:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
using namespace std;
 
int main()
{
    int* pInt = new int;
    if (pInt != NULL)
        int& rInt = *pInt;
    
    *pInt = 67;
 
    cout << *pInt << endl;
    cout << rInt  << endl;
        
    char response; std::cin >> response; // для задержки экрана
                    
    return 0;     
}
компилятор пометил строку 13:
error C2065: rInt: необъявленный идентификатор

но если закоментировать строку 7, то всё работает:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
using namespace std;
 
int main()
{
    int* pInt = new int;
//  if (pInt != NULL)
        int& rInt = *pInt;
    
    *pInt = 67;
 
    cout << *pInt << endl;
    cout << rInt  << endl;
        
    char response; std::cin >> response; // для задержки экрана
                    
    return 0;     
}
Может в учебнике опечатка? Почему способ автора ведёт к ошибке?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.07.2014, 09:11
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Error C2065: необъявленный идентификатор (C++):

error C2065: wmId: необъявленный идентификатор - C++
Всем привет) Вот выдает 3 ошибки.... Помогите пож, спасибо заранее за ваши ответы) Ошибки: 1&gt;c:\my documents\visual studio...

Error C2065: NULL: необъявленный идентификатор - C++
#ifndef __MULTIMAP_H__ #define __MULTIMAP_H__ template &lt;class T, class keyT&gt; struct mapstruct { keyT key; T info; ...

error C2065: nomer: необъявленный идентификатор - C++
Помогите пожалуйста разобраться, ниче не могу понять. #include &lt;iostream&gt; #include &lt;string.h&gt; #include &lt;conio.h&gt; using namespace...

Error C2065: cout: необъявленный идентификатор - C++
#include &quot;stdafx.h&quot; #include &lt;stdio.h&gt; #include &lt;math.h&gt; int main() { int x, y, a, b; cout &lt;&lt; &quot;Insert x(int):\n&quot;; cin &gt;&gt;...

error C2065: eof: необъявленный идентификатор - C++
#include &quot;StdAfx.h&quot; int getline(char s, int lim) { int c,i; for(i=0; i&lt;lim-1 &amp;&amp; (c=getchar()) != eof &amp;&amp; c !='\n'; i++) //...

Error C2065: cout: необъявленный идентификатор - C++
видаёт мне такую ошибку: 1&gt;c:\documents and settings\администратор.home-8a34687735\мои документы\visual studio 2010\projects\lab 1.3\lab...

16
ValeryS
Модератор
6753 / 5162 / 493
Регистрация: 14.02.2011
Сообщений: 17,344
08.07.2014, 19:40 #16
DrOffset, ну так я и не спорю
я же сказал "Грубо говоря"
так проще объяснить, по крайней мере для меня
но кстати не встречал реализацию без указателя, хотя дезассемблировал не мало
0
DrOffset
08.07.2014, 19:49     Error C2065: необъявленный идентификатор
  #17

Не по теме:

Цитата Сообщение от ValeryS Посмотреть сообщение
но кстати не встречал реализацию без указателя
Я где-то тут приводил именно такой пример. Лень только искать

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.07.2014, 19:49
Привет! Вот еще темы с ответами:

Error C2065: xlineMAX: необъявленный идентификатор - C++
Вид исходного файла: INLINE : 233 XLINE : 202 668417,50000 565878,00000 995,87421 Сортирую по значению XLINE и те...

Error C2065: _winmajor: необъявленный идентификатор - C++
Помогите дописать! Наглядно продемонстрировать инициализацию переменных, совершаемую стартовым кодом, позволяет следующая программа....

Error C2065: col_gray: необъявленный идентификатор - C++
#include &quot;stdafx.h&quot; #include &quot;lab01.h&quot; lab07::lab07() : m_pBits( 0 ) { m_Imps.push_back( new s_imp_gray_scale ); ...

Страуструп: error C2065: i–1: необъявленный идентификатор - C++
Выполняю код по книге Стауструпа, в Visual C++ 2010. При компиляции выдается ошибка(в предпоследней строке): error C2065: i–1:...


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

Или воспользуйтесь поиском по форуму:
17
08.07.2014, 19:49
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.