Visual Studio 2008 Intellisense с ключевым словом struct - PullRequest
0 голосов
/ 03 декабря 2009

Я использую Visual Studio 2008 Express Edition.

Обычный консольный проект Win32 C с кодом ниже:

int main(void)
{

struct _addr_info
{
    char name[30];
    char street[40];
    char city[20];
    char state[3];
    unsigned long int zip;
} addr_info;

addr_info.zip = 12345;


return 0;
}

Обычно для структур intellisense перечисляет членов. Здесь это, однако, не компилируется, и при отладке я проверил, что данные также вводятся правильно Я делаю что-то не так?

даже этот код имеет такую ​​же проблему.

int main(void)
{

struct 
{
    char name[30];
    char street[40];
    char city[20];
    char state[3];
    unsigned long int zip;
} addr_info;

addr_info.zip = 12345;


return 0;
}

Этот код ниже также не работает.

int main(void)
{

struct _addr_info
{
    char name[30];
    char street[40];
    char city[20];
    char state[3];
    unsigned long int zip;
} ;

struct _addr_info addr_info;
addr_info.zip = 12345;


return 0;
}

Код ниже работает нормально и перечисляет членов структуры.

struct _addr_info
{
    char name[30];
    char street[40];
    char city[20];
    char state[3];
    unsigned long int zip;
} addr_info;

int main(void)
{
    addr_info.zip = 12345;
    return 0;
}

Этот тоже.

    struct _addr_info
{
    char name[30];
    char street[40];
    char city[20];
    char state[3];
    unsigned long int zip;
} ;

int main(void)
{
    struct _addr_info addr_info;
    addr_info.zip = 12345;
    return 0;
}

Ответы [ 3 ]

1 голос
/ 07 декабря 2009

Я разместил на форуме MSDN и получил ответ, указанный по ссылке.

http://social.msdn.microsoft.com/Forums/en-US/Vsexpressvc/thread/8a22dc4a-3632-4cb9-92a3-63a18b55e7b6

Надеюсь, это поможет.

0 голосов
/ 05 декабря 2009

Ответ скопирован с [ Почему Visual Studio не знает правильного определения этой структуры? ]

Что-то в вашей ситуации описано Microsoft: http://support.microsoft.com/kb/822551

ВОЗМОЖНОЕ РЕШЕНИЕ : Microsoft настоятельно рекомендует использовать уникальный тип определения.

0 голосов
/ 03 декабря 2009

Если вы привыкли к intellisense в Visual C #, вы будете крайне разочарованы в Visual C ++, так как он очень глючный. Вы можете попробовать удалить файлы ncb, но вам лучше использовать что-то вроде Visual Assist, которое является заменой intellisense.

...