Sto scrivendo un'applicazione C++ in Visual Studio 2008. Ha un sacco di strutture definite in diversi file di intestazione, come ad esempio:Vai a definizione non riesce - Visual Studio 2008
#pragma pack(push , 1) // align on a 1-byte boundary
typedef struct myStruct_tag
{
/* ... */
} myStruct_t;
#pragma pack(pop) // end 1-byte boundary alignment
In un file sorgente, queste strutture definite vengono utilizzate come tali:
void MyFunc(void)
{
myStruct_t * myStruct = NULL;
myStruct = (myStruct_t *)malloc(sizeof(myStruct_t));
/* and so forth and so on... */
}
Anche se si compila con successo con 0 errori e 0 avvertimenti, a volte, quando right-click un tipo di dati personalizzata (ad esempio in MyFunc
) mi dà un errore:
The symbol 'myStruct_t' is not defined.
Poi fare clic su OK per chiudere la finestra di dialogo e premere Ctrl + Alt + F7 per ricostruire la soluzione. Costruisce senza errori o avvisi, quindi so che sta trovando la definizione di myStruct_t
quando compila, ma non riesce a trovarlo quando provo a usare la funzione Vai a definizione. L'unica cosa che mi viene in mente è che questa applicazione ha molte strutture definite, allineate con un singolo byte, ma ciò non dovrebbe fare la differenza. Qualcuno sa come risolvere questo?
Questo ha fatto il trucco! Grazie! –
In Visual Studio 2010 non ci sono file * .ncb; ora usa i file * .sdf – Loghorn
Il mio errore. Sto usando VS2008. Aggiornerò di conseguenza l'OP. –