Das relevante Zitat aus dem Standard ist 5.2.3 [expr.type.conv] / 2
Der Ausdruck T (), wobei T ein einfacher Typ- oder Typname-Spezifizierer für einen vollständigen Objekttyp ohne Array oder den (möglicherweise cv-qualifizierten) Void-Typ ist, erzeugt einen Pr-Wert des angegebenen Typs , die mit Wert initialisiert wird (8.5; für den Fall void () wird keine Initialisierung durchgeführt). [Anmerkung: Wenn T ein Nicht-Klassen-Typ ist, der cv-qualifiziert ist, werden die cv-Qualifizierer ignoriert, wenn der Typ des resultierenden prvalue (3.10) bestimmt wird. -Hinweis]
Der Wortlaut im Standard erwähnt explizit (in nicht-normativer Form), dass für Nicht-Klassen -Typen die Konst-volatile-Qualifikation weggelassen wird, aber in Ihrem Fall ist der Typ eine -Klasse und der Hinweis gilt nicht. Es scheint, dass VS die gleiche Regel anwendet, die für Nicht-Klassen-Typen angewendet wird.
Tags und Links c++ visual-studio-2012 visual-c++ const-method