2010-05-06 146 views
0

好的,我有一个奇怪的问题。我有这样一段代码:指针问题

int *p; 
int test; 
p=&test; 

在Visual C++表示,在我exsisting项目中,我得到这个错误:

missing type specifier - int assumed. 
'p' : 'int' differs in levels of indirection from 'char *' 
'initializing' : cannot convert from 'char *' to 'int' 

但在创建新的项目,相同的代码是好的。请问什么问题?

+7

该错误与您在此处显示的代码无关。 – AraK 2010-05-06 09:21:13

+2

显示实际的可编译代码 - 项目中可能存在导致问题的其他地方 – Mark 2010-05-06 09:22:02

+2

这段代码不完整;你可以使用整个程序来获得更多的上下文吗? – 2010-05-06 09:22:06

回答

1

如果不同项目上的相同代码产生不同的结果,我猜你可以认为问题不在代码中,而是在项目中。

我建议你在两个项目文件之间做一个差异,以便快速查看可能出现的错误。

1

您是否将该代码放入函数中?你不能在函数之外编写任意的C++代码。

int main() { 
    int *p; 
    int test; 
    p=&test; 
} 
2

此代码之前的内容可能会破坏事情(更多的上下文可能有所帮助)。也许test是一个破坏你的代码含义的宏。