我无法解决这个问题.这是一个简单的例子:
class x
{
public:
void function(void);
private:
static void function2(void);
};
void x::function(void)
{
x::function2(void);
}
static void function2(void)
{
//something
}
Run Code Online (Sandbox Code Playgroud)
我得到错误,其中抱怨function2是私有的.如果我把它公开(我真的不想这样做),我会得到关于对function2的未定义引用的错误.我究竟做错了什么?谢谢!
我正在尝试在Centos 5.10上编译opencv 2.4.6.1。但是,每当我添加WITH_OPENGL = ON时,我都无法对其进行编译。
我的cmake行:
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local/opencv-2.4.6.1-test -D CMAKE_CXX_COMPILER=/usr/local/gcc-4.8.1/bin/g++ -D CMAKE_C_COMPILER=/usr/local/gcc-4.8.1/bin/gcc -D BUILD_opencv_python=OFF -D CUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda-5.5/ -D WITH_FFMPEG=YES -D BUILD_EXAMPLES=ON -D WITH_TBB=ON -D TBB_INCLUDE_DIRS=/opt/intel.2013.0.028/tbb/include/ -D TBB_LIB_DIR=/opt/intel.2013.0.028/tbb/lib/intel64/ -D WITH_IPP=ON -D ENABLE_PROFILING=ON -D WITH_OPENGL=ON ..
Run Code Online (Sandbox Code Playgroud)
我还设置了以下环境变量:
export IPPROOT=/opt/intel.2013.0.028/ipp/
export PKG_CONFIG_PATH=/usr/local/ffmpeg-2.0.2/lib/pkgconfig
Run Code Online (Sandbox Code Playgroud)
结果是:
-- The CXX compiler identification is GNU
-- The C compiler identification is GNU
-- Check for working CXX compiler: /usr/local/gcc-4.8.1/bin/g++
-- Check for working CXX compiler: /usr/local/gcc-4.8.1/bin/g++ -- works
-- Detecting CXX compiler ABI info
-- Detecting …Run Code Online (Sandbox Code Playgroud) 我是大学生,有一项任务,需要找到大的素数.教授给了我以下"简单"算法,找到2个可能的素数.
第3步的示例.
假设p = 5
1 ^ 4%5 = 1
2 ^ 4%5 = 1
3 ^ 4%5 = 1
4 ^ 4%5 = 1
这表明5是素数.
我通过这个任务意识到计算素数不是开玩笑.我用上述算法看到的问题是,如果我猜测大数并用模幂运算测试它们,我可能会尝试将大数字增加到一个大数.这让我怀疑.我已经研究了确定性有限自动机和Eratosthenes的筛子.有没有人有任何建议要么改进给定的算法或提供任何形式的帮助?谢谢你的时间.
我有一个似乎无法解决的问题.我随机生成数字以确定我的数字是否是相对论素数.
这是给我一个浮点异常的函数:
bool modularExponentiationTest(unsigned long long exponent, unsigned long long modulus)
{
short index = 0;
unsigned long long base;
unsigned long long result;
do
{
result = 1;
base = rand() % exponent; // <--CAUSED BY THIS
while (exponent > 0)
{
if (exponent & 1)
result = (result * base) % modulus;
exponent >>= 1;
base = (base * base) % modulus;
}
if (result != 1)
return false;
}while(++index < 10);
return true;
}
Run Code Online (Sandbox Code Playgroud)
通过执行以下操作,我在不同的函数中实现随机种子:
srand(time(NULL));
Run Code Online (Sandbox Code Playgroud)
非常感谢您的帮助!