Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Az inicializáló nem állandó
Megjegyzések
Ezt a hibát csak a C fordító állítja ki, és csak nem automatikus változók esetén fordul elő. A fordító a program elején inicializálja a nem automatikus változókat, és az inicializált értékeknek állandónak kell lenniük.
Példák
Az alábbi példa C2099-et hoz létre.
// C2099.c
int j;
int *p;
j = *p; // C2099 *p is not a constant
A C2099 azért is előfordulhat, mert a fordító nem képes állandó összecsukást végezni a /fp:strict kifejezésen, mert a lebegőpontos pontossági környezet beállításai (további információkért lásd _controlfp_s ) eltérhetnek a fordítástól a futási időig.
Ha az állandó összecsukás sikertelen, a fordító dinamikus inicializálást hív meg, amely c nyelven nem engedélyezett.
A hiba megoldásához állítsa össze a modult .cpp fájlként, vagy egyszerűsítse a kifejezést.
További információt a /fp (Floating-Point viselkedésének megadása) című témakörben talál.
Az alábbi példa C2099-et hoz létre.
// C2099_2.c
// compile with: /fp:strict /c
float X = 2.0 - 1.0; // C2099
float X2 = 1.0; // OK