想不通这句为什么没有语法异常也没有逻辑异常,参数的个数都不对

想不通这句为什么没有语法错误也没有逻辑错误,参数的个数都不对
sysmetrics 是定义和初始化好的一个数组

HDC hdc;
int cxChar, cyChar, cxCaps;
TCHAR szBuffer[10];
TextOut (hdc, 22 * cxCaps + 40 * cxChar, cyChar * i, szBuffer,
wsprintf(szBuffer, TEXT ("%5d"), GetSystemMetrics (sysmetrics[i].iIndex)));


TextOut的用法:
BOOL TextOut(
  HDC hdc,           // handle to device context
  int nXStart,       // x-coordinate of starting position
  int nYStart,       // y-coordinate of starting position
  LPCTSTR lpString,  // pointer to string
  int cbString       // number of characters in string
);

------解决方案--------------------
看仔细了,当然没有错误,TextOut一共接受了5个参数,第五个参数 int cbString是wsprintf(szBuffer, TEXT ("%5d"), GetSystemMetrics (sysmetrics[i].iIndex))的返回值