我可以使用某些宏在MSVC 16.6中复活已删除的std :: result_of吗?

MSVC 16.6 in C++20 mode removes the result_of that was removed in C++20 standard. I am all for doing the morally correct thing, but many 3rd party libraries(example) I use fail.

有时,MSVC使用户可以定义定义,以便仍启用已删除的功能。 是否可以对result_of执行此操作? 我尝试了_HAS_FEATURES_REMOVED_IN_CXX20,它似乎可以工作,但是宏以_开头的事实使我感到恐惧,这表明它可能是内部MSVC机制,而不是用户应设置的东西。

评论