Ошибка указателя C ++ - PullRequest
       1

Ошибка указателя C ++

1 голос
/ 27 января 2011

Когда я пытался скомпилировать следующую программу на C ++:

//Source: C++ How To Program, Sixth Edition
#include <iostream>
int main()
{
int a;
int *aPtr;
a=7;
aPtr=&a;
std::cout<<"The address of a is: "<<&a<<std::endl;
std::cout<<"The value of aPtr is: "<<aPtr<<std::endl;
std::cout<<"The value of a is: "<<a<<std::endl;
std::cout<<"The value of *aPtr is: "<<*aPtr<<std::endl;
std::cout<<"Showing that * and & are inverses of each"
<<" other"<<std::endl;
std::cout<<"&*aPtr= "<<&*aPtr<<std::endl;
std::cout<<"*&aPtr= "<<*&aPtr<std::endl;
return 0;
}

Я получил следующую ошибку:

enter image description here

Есть идеи на этот счет?

Спасибо.

Ответы [ 6 ]

6 голосов
/ 27 января 2011

Заменить

std::cout<<"*&aPtr= "<<*&aPtr<std::endl;

от

std::cout<<"*&aPtr= "<<*&aPtr<<std::endl;

Просто синтаксическая ошибка в вашем коде (< вместо <<).

3 голосов
/ 27 января 2011

Да, опечатка в строке 15, где вы написали < вместо <<. Это сообщение об ошибке довольно ясно!

3 голосов
/ 27 января 2011

Вы пропустили < в последней строке:

//----------------------------v here.
std::cout<<"*&aPtr= "<<*&aPtr<<std::endl;
3 голосов
/ 27 января 2011

Это выглядит как простая опечатка в строке 15. Вы забыли одну "<" между aPTR и endl-постоянной;) </p>

std::cout<<"*&aPtr= "<<*&aPtr<std::endl;

3 голосов
/ 27 января 2011

Строка 15 говорит *&aPtr < std::endl.должно быть << вместо <.

. Такой тип ошибки будет легче заметить, если поставить пробелы между операторами и операторами.

2 голосов
/ 27 января 2011

исправить эту строку (синтаксическая ошибка) (<< вместо <)

std::cout<<"*&aPtr= "<<*&aPtr<std::endl;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...