【发布时间】:2020-12-18 05:44:48
【问题描述】:
我的项目在 Win32 平台上成功编译。现在我必须关闭“经典 Borland 编译器”,因为我想像这样使用指定初始化器:
struct test_s test = { .first = 1, .third = 3, .second = 2 };
当“经典 Borland 编译器”关闭时,我收到以下错误消息;
[bcc32c Error] codecvt(131): too few arguments provided to function-like macro invocation
std_compat.h(7): macro 'max' defined here
我在 Win64 目标上遇到了同样的问题。
我的项目在 C++Builder 10.1 中编译没有问题,但是当我尝试在 10.4 中编译时,我遇到了这个问题。
我该如何解决?
【问题讨论】:
-
test_s 是如何定义的?指定的初始化顺序必须与声明顺序一致。
-
我认为问题中没有足够的信息。报告错误的行中包含令牌
max。这是一个宏(可能在标准库中定义)。这显然会扩大到那里的胡言乱语。您是否还尝试在代码中命名max?
标签: c++builder c++builder-10.4-sydney