【问题标题】:Expected expression before , token [closed]之前的预期表达式,令牌[关闭]
【发布时间】:2013-12-29 21:53:52
【问题描述】:

我的代码:

DrawText (hdc, TEXT ("PPPPPPP"), -1, &, DT_SINGLELINE|DT_CENTER|DT_VCENT);

编译器给了我这个错误:

[Error] expected expression before ',' token

谢谢。

【问题讨论】:

  • &, 到底是什么意思?
  • @RaymondChen:“拿地址,哦,没关系。”
  • 这就像问为什么你的代数计算器不接受输入4 +
  • 另外,DT_VCENT 应该是 DT_VCENTER

标签: c windows draw


【解决方案1】:

孤独的& 是错误的,这不是正确的语法:一元地址运算符& 需要获取地址,而您没有向运算符提供参数。

this documentation page 开始,DrawText() 的第四个参数是指向您似乎缺少的RECT 结构的指针。

如果不查看更多代码,很难知道您的特定 RECT 实例被称为什么。

【解决方案2】:

这是因为您使用了没有操作数的一元 & 运算符。 & 运算符需要一个操作数(必须是左值),否则会出现编译错误。如果您声明RECT 结构,则第四个参数是指向RECT 的指针,如&rect

 RECT rect;
 ...
 DrawText (hdc, TEXT("PPPPPPP"), -1, &rect, DT_SINGLELINE|DT_CENTER|DT_VCENT);

【讨论】:

  • 这样我得到错误:[Error] lvalue required as unary '&' operand
  • @Janac;有错字。解决了这个问题。
  • @hacks 他还不明白
  • 您必须将五个参数传递给您的函数。删除后,您应该传递函数预期的参数(如&rect)。也请阅读answer
猜你喜欢
  • 2013-11-12
  • 1970-01-01
  • 2012-10-30
  • 2013-11-13
  • 1970-01-01
  • 2020-10-30
  • 2017-04-09
  • 1970-01-01
相关资源
最近更新 更多