Fehlermeldung bei der Verwendung von GDI+
-
Hi
Ich wollte folgenden Quelltext den ich aus der MSDN habe mit TurboC++ compilieren:
#include <windows.h> #include <gdiplus.h> #include <stdio.h> using namespace Gdiplus; INT main() { // Initialize GDI+. GdiplusStartupInput gdiplusStartupInput; ULONG_PTR gdiplusToken; GdiplusStartup(&gdiplusToken, &gdiplusStartupInput, NULL); UINT num; // number of image decoders UINT size; // size, in bytes, of the image decoder array ImageCodecInfo* pImageCodecInfo; // How many decoders are there? // How big (in bytes) is the array of all ImageCodecInfo objects? GetImageDecodersSize(&num, &size); // Create a buffer large enough to hold the array of ImageCodecInfo // objects that will be returned by GetImageDecoders. pImageCodecInfo = (ImageCodecInfo*)(malloc(size)); // GetImageDecoders creates an array of ImageCodecInfo objects // and copies that array into a previously allocated buffer. // The third argument, imageCodecInfos, is a pointer to that buffer. GetImageDecoders(num, size, pImageCodecInfo); // Display the graphics file format (MimeType) // for each ImageCodecInfo object. for(UINT j = 0; j < num; ++j) { wprintf(L"%s\n", pImageCodecInfo[j].MimeType); } free(pImageCodecInfo); GdiplusShutdown(gdiplusToken); return 0; }
Was zu folgender Fehlermeldung führt:
[C++ Fehler] GdiplusGraphics.h(34): E2015 Mehrdeutigkeit zwischen 'Gdiplus::Graphics::Graphics(void *)' und 'Gdiplus::Graphics::Graphics(void *,int)'
Hat irgendjemand eine Ahnung was es damit auf sich hat?
Gruß
rean
-
Öhm hast Du die Klasse 'Graphics' den überhaupt verwendet ?
Wenn für den 2. Parameter des 2. Konstruktors ein Default-Parameter vorgehen ist, führt das zu einer Mehrdeutigkeit.
Du kannst in diesem Fall einfach explizit einen Wert übergeben.