0

我的项目在 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 中编译时,我遇到了这个问题。

我该如何解决?

4

1 回答 1

0

通过从我的一些包含文件中删除以下包含并仅从 cpp 使用它来解决问题。但是它适用于 10.1 并且非常简单。

//- contents of std_compat.h -----------------------------------------------------

#ifndef std_compatH
#define std_compatH

#define min( a, b ) (a) < (b) ? (a) : (b)
#define max( a, b ) (a) > (b) ? (a) : (b)

#endif
于 2020-12-18T14:20:47.067 回答