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.
"operator": retourtype van gecombineerde gedelegeerden is niet 'void'; de geretourneerde waarde is niet gedefinieerd
Opmerkingen
Er zijn twee gemachtigden gecombineerd en de retourwaarde is niet ongeldig. Als twee delegates met niet-lege returnwaarden worden gecombineerd, kan de compiler geen correcte toekenning uitvoeren als de returnwaarde van de delegate wordt gebruikt.
Example
In het volgende voorbeeld wordt C4358 gegenereerd:
// C4358.cpp
// compile with: /clr /W1
delegate int D();
delegate void E();
ref class X {
int i;
public:
X(int ii) : i(ii) {}
int f() {
return i;
}
};
ref class Y {
int i;
public:
Y() {}
void g() {}
};
int main() {
D^ d = gcnew D(gcnew X(1), &X::f);
D^ d2 = gcnew D(gcnew X(2), &X::f);
d += d2; // C4358
int j = d(); // return value indeterminate
E^ e = gcnew E(gcnew Y, &Y::g);
E^ e2 = gcnew E(gcnew Y, &Y::g);
e += e2; // OK
}