2011-01-27 131 views
1

当我试图编译下面的C++程序: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

上任何想法?

谢谢。

+0

该错误不会出现。 – sergiom 2011-01-27 11:03:30

回答

6

在你的代码替换

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

通过

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

只是一个语法错误(<而不是<<)。

3

第15行说*&aPtr < std::endl。应该是<<而不是<

如果你在操作员和操作员之间放置空间,你会更容易发现这种错误。

3

它看起来像在15行一个简单的拼写错误您APTR和ENDL常数之间忘记了一个“<”)

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

3

你错过了最后一行<

//----------------------------v here. 
std::cout<<"*&aPtr= "<<*&aPtr<<std::endl; 
3

是的,第15行的拼写错误,你写了<而不是<<。错误消息使得这个非常清楚!

2

修复这个行(语法错误)(<<代替<

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