gpt4 book ai didi

c++ - 结构的原型(prototype)函数

转载 作者:可可西里 更新时间:2023-11-01 18:25:16 25 4
gpt4 key购买 nike

今天我遇到了this一段代码:

int main() {
struct Foo {};
struct Bar {};

Foo(b)(int (Bar*c)); // ?

return 0;
}

我完全不知道发生了什么。我的编译器 (VC14) 警告我未使用的原型(prototype)函数?

这一行是干什么的(声明一个函数:什么名字,什么参数,返回类型?怎么调用?)

Foo(b)(int (Bar*c));

预先感谢您帮助我!

最佳答案

这声明了一个名为 b 的函数:

  • int (Bar*c)为参数;
  • 返回 Foo

参数的类型 int (Bar*c) 是一个指向函数的指针,该函数采用指向 Bar 的指针并返回一个 int。这里,c 是参数的名称,可以省略:int (Bar*)

下面是调用 b 的方法:

int main() {
struct Foo {};
struct Bar {};

Foo(b)(int (Bar* c)); // the prototype in question

int func(Bar*); // a function defined elsewhere
Foo result = b(func);

return 0;
}

关于c++ - 结构的原型(prototype)函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32538833/

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