Delen via


Compilerfout C3163

'construct': kenmerken die inconsistent zijn met eerdere declaratie

Opmerkingen

De kenmerken die worden toegepast op een definitie conflicteren met de kenmerken die worden toegepast op een declaratie.

Een manier om C3163 op te lossen, is door kenmerken van de doorstuurdeclaratie te elimineren. Kenmerken van een doorstuurdeclaratie moeten kleiner zijn dan de kenmerken van de definitie of, maximaal, gelijk zijn aan deze kenmerken.

Een mogelijke oorzaak van de C3163-fout omvat de Microsoft-broncodeaantekeningstaal (SAL). De SAL-macro's worden niet uitgevouwen, tenzij u uw project compileert met behulp van de /analyze vlag. Een programma dat probleemloos compileert zonder /analyze, kan C3163 geven als u probeert het opnieuw te compileren met de /analyze optie. Zie SAL-aantekeningen voor meer informatie over SAL.

Example

In het volgende voorbeeld wordt C3163 gegenereerd.

// C3163.cpp
// compile with: /clr /c
using namespace System;

[CLSCompliant(true)] void f();
[CLSCompliant(false)] void f() {}   // C3163
// try the following line instead
// [CLSCompliant(true)] void f() {}

Zie ook

SAL-aantekeningen