alignment of a member was sensitive to packing
-
Ich bekomme neuerdings folgende Warnung, wenn ich kompiliere:
warning C4121: 'controls::DropDownList' : alignment of a member was sensitive to packing
Die MSDN hat mir in der Hinsicht nicht wirklich weitergeholfen, da ich alle möglichen Kombinationen der Datenelemente durchprobiert habe.
Ich möchte nicht unbedingt das Alignment von 8 Bytes verändern, auf weniger als 8 Bytes produziert es sowieso noch mehr warnings und 16 Bytes kommt mir ein bisschen krass vor.
Kann mir jemand den tieferen Sinn dieser Warnung erläutern? Sie tritt auf, seit ich einen Member-function-Pointer als Datenelement hinzugefügt habe.Hier meine jetzigen Datenelemente der Klasse:
class DropDownList { private: std::vector<const std::wstring> elements; void (Menu::*changeMethod)(const DropDownList*); int current; bool opened; };