【发布时间】:2014-06-03 15:12:46
【问题描述】:
我有以下代码:
void (* point)();
point=prova;
unsigned long int imm8 = point<<24;
...
void prova(){
...
}
第三行代码我有错误:
二进制的无效操作数
我正在尝试将移位运算符应用于函数指针,但出现以下错误。我该怎么办?
【问题讨论】:
-
为什么要对指向函数的指针进行位移?
-
您不能对指针进行位移。这甚至没有意义。如果您必须生活危险,请将指针投射到
uintptr_t。 -
显然您并不完全了解您在这里尝试的内容。现在是你解释你提出这个问题的动机的时候了。
-
@pask 我同意其他人的观点。虽然我提供了一个可行的解决方案,但您仍然需要说明为什么您正在做您正在做的事情。尽管这里似乎有一个巨魔对所有实际答案投了反对票,但您仍然需要在此处声明您想要实现的确切目标。
-
我必须同意编辑您的问题以解释您的目标会有所帮助。
标签: c++ function-pointers