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.
A "type" különböző méretű a "file1" és a "file2" fájlban: size_1 és size_2 bájt
Megjegyzések
A két fájlban hivatkozott vagy definiált külső változónak különböző típusai vannak ezekben a fájlokban, és a fordító megállapította, hogy az 1. fájl változójának mérete eltér a változó méretétől a fájl2 fájlban.
Van egy fontos eset, amikor ez a figyelmeztetés kibocsátható a C++-ra. Ha két különböző fájlban azonos nevű osztálytípusokat deklarál, ha ezek a deklarációk virtuális függvényeket tartalmaznak, és a deklarációk nem azonosak, a fordító figyelmeztetést adhat ki a C4744 virtuális függvénytáblákhoz. A figyelmeztetés azért fordul elő, mert két különböző méretű virtuális függvénytábla van ugyanahhoz a típushoz, és a csatolónak ki kell választania egyet a végrehajtható fájlba való beépítéshez. Előfordulhat, hogy a program helytelen virtuális függvényt hív meg.
A figyelmeztetés feloldásához használja ugyanazt a típusdefiníciót, vagy használjon különböző neveket a típusokhoz vagy változókhoz.
Example
Az alábbi példa C4743-at hoz létre. A fordításhoz helyezze mindkét fájlt ugyanabba a mappába, majd futtassa ezt a parancsot egy fejlesztői parancssorban:
cl /EHsc /W1 /GL /O2 C4743a.cpp C4743b.cpp
Forrásfájl C4743a.cpp:
// C4743a.cpp
class C {
public:
virtual void f1(void);
virtual void f2(void);
virtual void f3(void);
};
void C::f1(void) {}
void C::f2(void) {}
void C::f3(void) {}
C q;
Forrásfájl C4743b.cpp:
// C4743b.cpp
class C {
public:
virtual void f1(void);
virtual void f2(void);
virtual void f3(void);
virtual void f4(void);
virtual void f5(void);
};
void C::f4(void) {}
void C::f5(void) {}
C x;
int main() {}
A probléma megoldásához nevezze át az egyik osztályt C .