我有一个依赖于几个包含文件的程序。当我按照下面显示的顺序定义包含时,程序编译得很好。
#include <iostream>
#include "opencv2/cvconfig.h"
#include "opencv2/core/core.hpp"
#include "opencv2/highgui/highgui.hpp"
#include "opencv2/core/internal.hpp" // For TBB wrappers
#include "arrayfire.h"
但是,当我切换最后两个包含时,如下所示
#include <iostream>
#include "opencv2/cvconfig.h"
#include "opencv2/core/core.hpp"
#include "opencv2/highgui/highgui.hpp"
#include "arrayfire.h"
#include "opencv2/core/internal.hpp" // For TBB wrappers
我得到编译器错误:
1>d:\libraries\tbb41\tbb41_20130613oss\include\tbb\task.h(765): 错误 C2059: 语法错误: '{' 1>d:\libraries\tbb41\tbb41_20130613oss\include\tbb\task.h( 765): 错误 C2334: '{' 前面的意外标记;跳过明显的函数体
这是出乎意料的,我想解决它。所有包含都来自库(OpenCV 和 ArrayFire)。关于可能是什么原因以及如何解决此问题的任何建议?
编辑这是task.h的相关部分:
759 #if __TBB_TASK_GROUP_CONTEXT
760 //! This method is deprecated and will be removed in the future.
761 /** Use method group() instead. **/
762 task_group_context* context() {return prefix().context;}
763
764 //! Pointer to the task group descriptor.
765 task_group_context* group () { return prefix().context; }
766 #endif /* __TBB_TASK_GROUP_CONTEXT */
在第 765 行,IDE 抱怨{
说Error: expected an identifier