gpt4 book ai didi

c++ - C 和 C++ 函数指针兼容吗?

转载 作者:太空宇宙 更新时间:2023-11-04 06:33:57 25 4
gpt4 key购买 nike

<分区>

指向(非成员)C++ 函数的指针是否在 C++ 和 C 之间兼容?

给出例如做的 C 代码

void  doit(void (*cb)(int i))
{
cb(100);
}

是否可以从 C++ 代码调用 do_it 函数(它将具有 C 链接)使用 C++ 函数指针,例如:

namespace {
void my_function(int i) {
//...
}
void other_function() {
doit(my_function);
}
};

my_function 是非成员函数还是静态成员函数?我想这一定意味着调用约定对于 C 和 C++ 代码来说是相同的- 这有保证吗?

或者 C++ 代码是否需要 C 链接到作为指向 doit 的指针传递的函数,例如

namespace {
extern "C" {
void my_function(int i) {
//...
}
}
void other_function() {
doit(my_function);
}
};

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com