我正在扩展一个开源项目。在新的 C++ 文件中包含 afxcoll.h 以使用 CStringArray 后,我收到此错误:
Error: MFC projects cannot define _ATL_NO_EXCEPTIONS
我怀疑我可以通过添加#defines 或更改或重新排列标题的包含来修复错误,或者,如果这不可能,则使用CStringArray 以外的其他东西。你有什么建议?
请在此问题的评论中提出问题,而不是在您的答案中。
怎么样......不像错误所说的那样定义_ATL_NO_EXCEPTIONS?
(哎呀,这是一个问题作为答案)。
您可以使用CAtlArray<CString>
代替CStringArray
,因为这与 _ATL_NO_EXCEPTIONS
. ATL 集合类在此处记录。不过,我通常更喜欢使用 C++ 标准库类,std::vector
而不是 MFC 容器类。
我建议调查为什么_ATL_NO_EXCEPTIONS
在这个项目中定义以及是否可以将其删除。