在 MFC 上选择多个 UINT 格式时出现语法错误

Syntax error when choosing multiple UINT formats on MFC

我有 Jeff Prosise 的《Programming Windows with MFC, Second Edition》一书,但在第一个示例中出现了这个错误:

error C2146: syntax error : missing ')' before identifier '│'

这一行:

dc.DrawText(_T("Hello, MFC"), -1, &rect, DT_SINGLELINE │ DT_CENTER │ DT_VCENTER);

如果我只选择这三种格式中的一种,不会出现错误,但程序不会像书上说的那样显示文本,有人可以帮忙吗?我已经编译了书中的其他两个示例,它们编译得很好。

您显然输入了错误的代码。这应该是一个竖线(C 和 C++ 用来表示 "bitwise OR")。在美式键盘上,它通常位于 enter 键的正上方(我怀疑您可能输入了 IBM 扩展字符集中的线条绘图字符之一,但很难确定)。