2010-05-06 3 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

+2

Показывать фактический скомпилированный код - возможно, что-то в другом месте проекта вызывает проблему – Mark

+2

Этот фрагмент кода является неполным; можете ли вы использовать всю программу для получения большего контекста? –

ответ

1

Если один и тот же код в разных проектах дает разные результаты, я думаю, вы можете предположить, что проблема связана не с кодом, а с проектом.

Предлагаю вам сделать разницу между двумя файлами проекта, чтобы быстро просмотреть, что может быть неправильным.

1

Вы разместили этот код внутри функции? Вы не можете написать произвольный код на C++ вне функций.

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

Что-то, что предшествует этому коду, может быть нарушением (может потребоваться больше контекста). Возможно, test - это макрос, который разрушает смысл вашего кода.

Смежные вопросы