Benutzer mit den meisten Antworten
Fehler C3986 und C3987: Systemeigener Typ in öffentlicher Methode

Frage
-
Hallo,
ich erhalte beim Erstellen die schon in der Überschrift erwähnten Fehler:
C3986
"CreateSolidColorBrush": Die Signatur des öffentlichen Members enthält den systemeigenen Typ "_D3DCOLORVALUE".
C3987
"CreateSolidColorBrush": Die Signatur des öffentlichen Members enthält den systemeigenen Typ "const D2D1_COLOR_F &".Die Signatur der Methode sieht wie folgt aus:
void CreateSolidColorBrush(const D2D1_COLOR_F &color, ID2D1SolidColorBrush **solidColorBrush)
Die Methode ist eigentlich nur ein Wrapper und soll die gleichen Parameter enthalten wie die gleichnamige Methode des Interfaces ID2D1RenderTarget.
Was bedeutet in diesem Zusammenhang systemeigen? Wie ist dieser Fehler behebbar, bzw. wie kann die Signatur beibehalten und der Fehler umgangen werden?
Danke für Eure Hilfe!
- Bearbeitet syntax.-_error Samstag, 8. August 2015 16:24
Antworten
-
Hallo,
ich bin kein C++ Profi, erst recht nicht in der Windows Store Entwicklung. Ich fand jedoch im Internet ein paar Seiten die ähnliche Probleme behandeln:
C3986:
How to properly create a property to store any amount of values?C3987:
Error “signature of public member contains native type” in Windows phone 8 RunTimeComponent
Visual C++ WinRT FAQ – Non-RT types in public signatureSoweit ich das verstanden habe erscheinen die Fehler dadurch dass man auch von C#- und VB.NET Anwendungen auf eine C++ App Komponente Verweisen kann. Diese können aber nur mit den manged Wrappern umgehen und nicht mit den nativen C++ Elementen wie der von dir gewünschten Schnittstelle. Daher erscheint beim kompilieren der Fehler.
.NET-fähige Typen kann man einfach mit dem ^ Zeichen versehen und schon ist das kein Problem mehr.
Tom Lambert - .NET (C#) MVP
Wozu Antworten markieren und für Beiträge abstimmen? Klicke hier.
Nützliche Links: .NET Quellcode | C# ↔ VB.NET Konverter | Account bestätigen (Verify Your Account)
Ich: Webseite | Code Beispiele | Facebook | Twitter | Snippets- Als Antwort markiert syntax.-_error Sonntag, 9. August 2015 06:08
- Tag als Antwort aufgehoben syntax.-_error Sonntag, 9. August 2015 06:08
- Als Antwort markiert syntax.-_error Sonntag, 9. August 2015 06:22
-
Danke für die schnelle Hilfe,
Ich bin durch die Suche des englischsprachigen Fehlers "signature of public member contains native type" fündig geworden. Deine Vermutung war tatsächlich richtig, danke !
Ich habe das Problem jetzt dadurch gelöst, die Methoden mit entsprechender Signatur als internal zu deklarieren.
- Bearbeitet syntax.-_error Sonntag, 9. August 2015 06:34
- Als Antwort markiert syntax.-_error Sonntag, 9. August 2015 06:34
Alle Antworten
-
Hallo,
ich bin kein C++ Profi, erst recht nicht in der Windows Store Entwicklung. Ich fand jedoch im Internet ein paar Seiten die ähnliche Probleme behandeln:
C3986:
How to properly create a property to store any amount of values?C3987:
Error “signature of public member contains native type” in Windows phone 8 RunTimeComponent
Visual C++ WinRT FAQ – Non-RT types in public signatureSoweit ich das verstanden habe erscheinen die Fehler dadurch dass man auch von C#- und VB.NET Anwendungen auf eine C++ App Komponente Verweisen kann. Diese können aber nur mit den manged Wrappern umgehen und nicht mit den nativen C++ Elementen wie der von dir gewünschten Schnittstelle. Daher erscheint beim kompilieren der Fehler.
.NET-fähige Typen kann man einfach mit dem ^ Zeichen versehen und schon ist das kein Problem mehr.
Tom Lambert - .NET (C#) MVP
Wozu Antworten markieren und für Beiträge abstimmen? Klicke hier.
Nützliche Links: .NET Quellcode | C# ↔ VB.NET Konverter | Account bestätigen (Verify Your Account)
Ich: Webseite | Code Beispiele | Facebook | Twitter | Snippets- Als Antwort markiert syntax.-_error Sonntag, 9. August 2015 06:08
- Tag als Antwort aufgehoben syntax.-_error Sonntag, 9. August 2015 06:08
- Als Antwort markiert syntax.-_error Sonntag, 9. August 2015 06:22
-
Danke für die schnelle Hilfe,
Ich bin durch die Suche des englischsprachigen Fehlers "signature of public member contains native type" fündig geworden. Deine Vermutung war tatsächlich richtig, danke !
Ich habe das Problem jetzt dadurch gelöst, die Methoden mit entsprechender Signatur als internal zu deklarieren.
- Bearbeitet syntax.-_error Sonntag, 9. August 2015 06:34
- Als Antwort markiert syntax.-_error Sonntag, 9. August 2015 06:34