将ICU VS2013解决方案移植到VS2015时出现C2248错误

C2248 error while porting ICU VS2013 solution to VS2015

我正在尝试将 ICU 4.0 VS2013 解决方案移植到 VS2015,但在移植时出现以下错误

严重性代码描述项目文件行 错误 C2248 'icu_4_0::Format::Format':无法访问在 class 'icu_4_0::Format' i18n c:\research\releases\gtlib\gtlib_6.0\source\aglc\aglc40\source\i18n\unicode\measfmt.h 72

中声明的受保护成员

函数是这样定义的:

protected:

/**
 * Default constructor.
 * @stable ICU 3.0
 */
MeasureFormat();

和class定义如下

class __declspec(dllexport) MeasureFormat : public Format {

我无法找出导致错误的原因。

Blockquote

解决了这个 Bug base class(Format) 导致的问题,base class 必须有复制构造函数和赋值运算符都应该是 public,它没有用当他们受到保护时(至少在我的情况下)。

C2248 error when using promise