Разница между intellisense и компилятором в VS.NET C ++ 2010 - PullRequest
2 голосов
/ 03 февраля 2010

Является ли следующий допустимый код C ++:

class C 
{
     static public  int x;
};

Компилируется нормально в Visual Studio 2008 C ++ и Visual Studio 2010 C ++ (бета 2). Но статический член x не становится публичным.

В Visual Studio 2010 beta 2 опыт еще более странный. Intellisense сообщает об ошибке «ожидается идентификатор», а компилятор - нет. Visual Studio 2008 не выдает никаких ошибок.

Итак, вопросы:

Это допустимый код C ++? Что это значит?

Ответы [ 3 ]

6 голосов
/ 03 февраля 2010

Это не разрешено C ++. Это законный C #, поэтому MS IDE вышла из строя.

Правильно:

public: static int x;

4 голосов
/ 03 февраля 2010

Это недопустимый код C ++.

«public» не допускается в объявлениях переменных. Однако вы видите, что компилятор «работает», потому что он также компилируется как CLI (код .NET) и там он разрешен и допустим.

2 голосов
/ 03 февраля 2010

Нет, это не законно C ++

Это может быть законный C # (но вам нужно будет проверить с человеком C #).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...