C++ C++;:OpenMP中的私有静态变量

C++ C++;:OpenMP中的私有静态变量,c++,class,static,openmp,private-members,C++,Class,Static,Openmp,Private Members,如何使OpenMP中的静态变量和函数(来自模板化类)成为私有的,以便在每个线程中具有不同的值?根据场景,您应该能够使用: #pragma omp threadprivate(theVariable) 有关详细信息,请参阅OpenMP中的这篇文章。事实上,我已经尝试过了。但我犯了个错误。错误:“SysBase::\u dt”在第一个use@SamerAfach通常不能将静态变量同时用作静态变量和线程本地变量。您必须将新线程设置为本地线程,然后更新静态线程(共享)。无论如何,感谢您的帮助!:)还

如何使OpenMP中的静态变量和函数(来自模板化类)成为私有的,以便在每个线程中具有不同的值?

根据场景,您应该能够使用:

#pragma omp threadprivate(theVariable) 

有关详细信息,请参阅OpenMP中的这篇文章。

事实上,我已经尝试过了。但我犯了个错误。错误:“SysBase::\u dt”在第一个use@SamerAfach通常不能将静态变量同时用作静态变量和线程本地变量。您必须将新线程设置为本地线程,然后更新静态线程(共享)。无论如何,感谢您的帮助!:)还要注意,代码> TraceBuffy/Cuff>仅支持OpenMP 3以来的本地静态变量,这意味着VisualC++中没有支持(如果您在Windows上开发或打算稍后发送)@ RitoSistiv,我如何知道OpenMP的版本?我在我的程序中使用了Ubuntu和g++。我应该给一些额外的指令来使用OpenMP 3.0吗?