編譯器警告 (層級 1) C4750
'identifier': 函式,內嵌至迴圈_alloca()
備註
'identifier' 函式會在迴圈內強制內嵌擴充 _alloca
函式,這可能會在執行迴圈時造成堆棧溢位。
更正這個錯誤
請確定 『identifier』 函式未使用
__forceinline
規範修改。請確定 『identifier』 函式不包含
_alloca
包含在迴圈中的函式。
範例
下列程式碼範例會呼叫迴圈中的 MyFunction
,而 MyFunction
會呼叫 _alloca
函式。 __forceinline
修飾詞會造成 _alloca
函式的內嵌展開。
// c4750.cpp
// compile with: /O2 /W1 /c
#include <intrin.h>
char * volatile newstr;
__forceinline void myFunction(void) // C4750 warning
{
// The _alloca function does not require a __try/__except
// block because the example uses compiler option /c.
newstr = (char * volatile) _alloca(1000);
}
int main(void)
{
for (int i=0; i<50000; i++)
myFunction();
return 0;
}