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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Определить номер дня недели для заданного номера дня года http://www.cyberforum.ru/cpp-beginners/thread1224262.html
а как это примерно будет на C++ ?
C++ Схема алгоритма. Как по ГОСТу отобразить обращение и получение значения из функции? Возник вопрос относительно построения блок-схемы. Операции записываются в символе процесса, прямоугольнике, это я, как ни странно, понимаю, функции записываются в символе предопределённого процесса,... http://www.cyberforum.ru/cpp-beginners/thread1224259.html
C++ Написать библиотеку, вычисляющую степень числа
задумал написать прорамму(библиотеку) которая вычесляет степень числа. как сделать вычесление степени 3,5,7 и т.д и т.п main.cpp#include "step.h" int main(){ step(2,2); system("pause"); } ...
Распечатать таблицы значений функций, развив функции в ряд Тейлора и используя указатели на функции C++
Помогите с функциями я программу сделал но никак не могу понять ряд Тейлора. Функции Thaler_cos для cos(x),Thaler_e для e^x Распечатать таблицы значений функций сох (х) и е ^ x на отрезке с шагом...
C++ Введение массива пользователем и подсчет введенных элементов http://www.cyberforum.ru/cpp-beginners/thread1224204.html
Кто нибудь! Пожалуйста! Нужна помощь!! Как подсчитать количество элементов в произвольно введенном массиве не используя векторов и прочих прибамбасов! С последующией перестановкой элементов В...
C++ Неоднозначный базовый класс Есть класс Object - базовый для всех класов. Есть класс - интерфейс Comparable<T> template<typename T> class Comparable : public Object { virtual int compareTo(const T& other) = 0; }; И... подробнее

Показать сообщение отдельно
lest_
0 / 0 / 0
Регистрация: 28.11.2013
Сообщений: 94

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

08.07.2014, 09:11. Просмотров 918. Ответов 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
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru