Ich hab das Problem das eine überladene Funktion bei mir nicht funktioniert.
Der Code sieht folgendermaßen aus:
Wenn ich die obere funktion aufrufe klappt es nicht. Da die variablen parameter (representiert mit ...) nicht übergeben werden nehme ich an
Wenn ich die untere funktion direkt aufrufe ist alles super.
Der Code sieht folgendermaßen aus:
Code:
void drawText(FONTSTYLE fontStyle, int x, int y, int r, int g, int b, int a, const char *text, ...) {
D3DCOLOR fontColor = D3DCOLOR_ARGB(a, r, g, b);
drawText(fontStyle, x, y, fontColor, text);
}
//this works fine..
void drawText(FONTSTYLE fontStyle, int x, int y, D3DCOLOR fontColor, const char *text, ...) {
RECT rct;
rct.left = x;
rct.top = y;
rct.right = rct.left + 300;
rct.bottom = rct.top + 200;
va_list va_alist;
char logbuf[80] = {0};
va_start(va_alist, text);
_vsnprintf(logbuf + strlen(logbuf), sizeof(logbuf) - strlen(logbuf), text, va_alist);
va_end(va_alist);
getFontByConst(fontStyle)->DrawText(NULL, logbuf, -1, &rct, 0, fontColor);
}
Wenn ich die obere funktion aufrufe klappt es nicht. Da die variablen parameter (representiert mit ...) nicht übergeben werden nehme ich an
Wenn ich die untere funktion direkt aufrufe ist alles super.