Povolení režimu STRICT
Když definujete symbol STRICT, povolíte funkce, které vyžadují větší péči při deklarování a používání typů. To vám pomůže psát přenosnější kód. Tato dodatečná péče také zkrátí dobu ladění. Povolení STRICT redefinuje určité datové typy, takže kompilátor nepovolí přiřazení z jednoho typu do druhého bez explicitního přetypování (cast). To je užitečné zejména s kódem Windows. Chyby při předávání datových typů se hlásí v době kompilace místo toho, aby způsobovaly závažné chyby za běhu.
V jazyce Visual C++ je ve výchozím nastavení definována kontrola typů STRICT.
Chcete-li definovat STRICT na soubor po souboru, vložte příkaz #define před zahrnutím Windows.h:
#define STRICT
#include <windows.h>
Při definování STRICT se definice datového typu změní takto:
- Konkrétní typy popisovačů jsou definovány tak, aby se vzájemně vylučovaly; například nebudete moci předat HWND, kde je vyžadován argument typu HDC. Bez STRICTjsou všechny popisovače definovány jako HANDLE, takže kompilátor nebrání použití jednoho typu popisovače tam, kde se očekává jiný typ.
- Všechny typy funkcí zpětného volání (například dialogové procedury, procedury oken a procedury háku) jsou definovány s úplnými prototypy. Zabráníte tak deklarování funkcí zpětného volání s nesprávnými seznamy parametrů.
- Parametry a návratové typy hodnot, které by měly použít obecný ukazatel, jsou deklarovány správně jako LPVOID místo jako LPSTR nebo jiný typ ukazatele.
- Struktura COMSTAT je deklarována podle standardu ANSI.
Související témata