我是 C++ 新手,主要是使用 Java,我在尝试编写的函数时遇到问题。我确信这很简单,但尽管如此,它让我很适应,所以准备一个痛苦的新手问题。
我正在尝试编写如下函数:
void foo(u_char *ct){
/* ct is a counter variable,
it must be written this way due to the library
I need to use keeping it as an arbitrary user argument*/
/*here I would just like to convert the u_char to an int,
print and increment it for each call to foo,
the code sample I'm working from attempts to do it more or less as follows:*/
int *counter = (int *) ct;
printf("Count: %d\n", *counter);
*counter++;
return;
}
当我尝试在 XCode 中运行它时(我也是新手),我在 foo 的 printf() 部分得到一个 EXE_BAD_ACCESS 异常。我真的不确定这里发生了什么,但我怀疑它与合并值、指针和引用有关,我还没有对 C++ 如何理解它们来自 Java 有强烈的喘息。有人看到我在这里滑倒了吗?
谢谢。