这是命名空间污染问题。
在不同命名空间下,cv的命令空间和windows.h文件中都有对ACCESS_MASK的定义,此时编译系统无法判定使用的是哪一个ACCESS_MASK,故引起报错。
在开发过程中,使用过多的using namespace容易引起命名空间污染,一旦错误,问题排查也比较麻烦。建议尽量不要在头文件中使用using namespace。
来源:CSDN
作者:WangYF90
链接:https://blog.csdn.net/u013230291/article/details/104389170