Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
functiestijlaanroep voor een expressie van het type 'type' verliest const en/of vluchtige kwalificaties voor alle overbelastingen van de beschikbare operatoren van het nummer
Opmerkingen
Een variabele met een opgegeven const-vluchtig type kan alleen lidfuncties aanroepen die zijn gedefinieerd met dezelfde of grotere const-vluchtige kwalificaties.
Los deze fout op door een geschikte lidfunctie op te geven. U kunt geen conversie uitvoeren op een const- of vluchtig gekwalificeerd object wanneer de conversie verlies van kwalificatie veroorzaakt. U kunt kwalificaties verkrijgen, maar u kunt geen kwalificatie verliezen in een conversie.
Example
In het volgende voorbeeld wordt C3849 gegenereerd:
// C3849.cpp
void glbFunc3(int i, char c)
{
i;
}
typedef void (* pFunc3)(int, char);
void glbFunc2(int i)
{
i;
}
typedef void (* pFunc2)(int);
void glbFunc1()
{
}
typedef void (* pFunc1)();
struct S4
{
operator ()(int i)
{
i;
}
operator pFunc1() const
{
return &glbFunc1;
}
operator pFunc2() volatile
{
return &glbFunc2;
}
operator pFunc3()
{
return &glbFunc3;
}
// operator pFunc1() const volatile
// {
// return &glbFunc1;
// }
};
int main()
{
// Cannot call any of the 4 overloads of "operator ()(.....)" and
// "operator pFunc()" because none is declared as "const volatile"
const volatile S4 s4; // can only call cv member functions of S4
s4(); // C3849 to resolve, uncomment member function
}