Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Aggiornamento: novembre 2007
Messaggio di errore
funzione 'funzione' contrassegnata come __forceinline non resa inline
function 'function' marked as __forceinline not inlined
La funzione specificata è stata selezionata per l'espansione inline, ma l'operazione non è stata eseguita.
Benché __forceinline sia un'indicazione più forte di __inline per il compilatore, l'operazione di inline viene comunque eseguita a discrezione del compilatore, ma non vengono utilizzati sistemi euristici per determinare i vantaggi derivanti dalla funzione inline.
In alcuni casi, una particolare funzione non viene resa inline per motivi meccanici. Di seguito sono riportati alcuni esempi di funzioni che non vengono rese inline:
Funzioni che risulterebbero in una mescolanza di SEH ed EH di C++.
Funzioni con oggetti creati tramite costruttore di copia passati per valore quando l'opzione -GX/EHs/EHa è attivata.
Funzioni che restituiscono un oggetto non svuotabile per valore quando l'opzione -GX/EHs/EHa è attivata.
Funzioni con codice assembly inline durante la compilazione senza -Og/Ox/O1/O2.
Funzioni con un elenco di argomenti variabile.
Funzioni con un'istruzione try (gestione delle eccezioni C++).
Nell'esempio seguente viene generato l'errore C4714:
// C4714.cpp
// compile with: /Ob1 /GX /W4
__forceinline void func1()
{
try
{
}
catch (...)
{
}
}
void func2()
{
func1(); // C4714
}
int main()
{
}