当传递可调用对象作为参数时,为什么g ++会抱怨“之前的无效声明符”?

陈孟
#include <iostream>
#include <vector>
#include <functional>

struct Callable {
  void operator()() {
    std::cout << "hello world\n";
  }
};

std::vector<std::function<void()>> cbs;

void register(std::function<void()>&& cb) {  // <-- ERROR
  cbs.emplace_back(std::move(cb));
}

int main() {
  Callable c;
  register(std::bind(std::ref(c)));
  for (auto& cb : cbs) {
    cb();
  }

  return 0;
}

在上面的C ++代码段中,g++-9报告的错误如error: invalid declarator before 'cb'注释行所示。

为什么会出现此错误?这是什么意思,以及如何解决?

慈济

该错误消息并不能真正帮助发现问题,但是实际上编译器说的不多。问题是register保留的标识符。只需更改该函数的名称,您的代码即可使用。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么有时需要在将对象作为参数传递之前创建变量

来自分类Dev

匿名自调用函数自动作为参数传递给上面声明的本地函数。为什么?

来自分类Dev

为什么作为模板参数传递时继承无效的类型不会被拒绝?

来自分类Dev

为什么 Pandas 会抱怨“n”是 split 函数的无效关键字参数?

来自分类Dev

为什么或何时在调用之前将可调用函数参数转换为右值?

来自分类Dev

为什么我的函数会覆盖作为参数传递的列表?

来自分类Dev

当函数调用中的参数数与函数声明中的参数数不匹配时,为什么javascript不会抱怨?

来自分类Dev

当对象作为参数传递时,为什么不调用我的自定义构造函数?

来自分类Dev

为什么有时可以将对临时对象的函数调用运算符解释为不包含参数的声明?

来自分类Dev

为什么在Django上使用bulk_create通过外键插入数据会返回“属性对象不可调用”?

来自分类Dev

当将对象作为参数传递时,为什么要调用析构函数但不调用构造函数?

来自分类Dev

如果将第二个参数作为数组传递并在内部放置空对象,为什么useEffect会产生不定式循环

来自分类Dev

为什么我的类对象会导致未声明的标识符错误?

来自分类Dev

为什么声明顺序对于将成员函数指针作为模板参数传递很重要?

来自分类Dev

当我将JavaScript数字函数作为参数传递时,为什么JavaScript函数会自动转换二进制数字?

来自分类Dev

传递字段符号作为更改参数会导致短时转储。为什么?

来自分类Dev

函数为什么要在传递给它的参数上使用“运算符的地址”作为指针?

来自分类Dev

为什么将对象推入Ember数组时Ember会抱怨?

来自分类Dev

什么是CGSUpdateManager,为什么会抱怨?

来自分类Dev

Tensorflow:ValueError:传递的初始化程序无效。它应该是一个没有参数的可调用对象,并且应该完全定义“ shape”

来自分类Dev

为什么在尝试使用ref时打字稿会抱怨?

来自分类Dev

当将某些文件作为工件传递时,为什么GitLab CI / CD会忽略某些文件?

来自分类Dev

在函数外部声明数组大小参数时,为什么不能将其作为变量?

来自分类Dev

为什么将参数传递给new Date()会导致与不传递任何参数时不同的时区?

来自分类Dev

为什么当我添加 POLLHUP 作为事件时,WSAPoll 返回错误(无效参数)?

来自分类Dev

当我使用类类型作为参数时,为什么modelstate在剃刀页面中无效?

来自分类Dev

我的代码行中的字符串格式有什么问题,为什么会这样说:TypeError:'NoneType'对象不可调用?

来自分类Dev

当我引入CSS变量时,为什么浏览器会尝试使用其他无效的属性声明?

来自分类Dev

当将空列表作为函数的默认参数时,python为什么会显示此行为?

Related 相关文章

  1. 1

    为什么有时需要在将对象作为参数传递之前创建变量

  2. 2

    匿名自调用函数自动作为参数传递给上面声明的本地函数。为什么?

  3. 3

    为什么作为模板参数传递时继承无效的类型不会被拒绝?

  4. 4

    为什么 Pandas 会抱怨“n”是 split 函数的无效关键字参数?

  5. 5

    为什么或何时在调用之前将可调用函数参数转换为右值?

  6. 6

    为什么我的函数会覆盖作为参数传递的列表?

  7. 7

    当函数调用中的参数数与函数声明中的参数数不匹配时,为什么javascript不会抱怨?

  8. 8

    当对象作为参数传递时,为什么不调用我的自定义构造函数?

  9. 9

    为什么有时可以将对临时对象的函数调用运算符解释为不包含参数的声明?

  10. 10

    为什么在Django上使用bulk_create通过外键插入数据会返回“属性对象不可调用”?

  11. 11

    当将对象作为参数传递时,为什么要调用析构函数但不调用构造函数?

  12. 12

    如果将第二个参数作为数组传递并在内部放置空对象,为什么useEffect会产生不定式循环

  13. 13

    为什么我的类对象会导致未声明的标识符错误?

  14. 14

    为什么声明顺序对于将成员函数指针作为模板参数传递很重要?

  15. 15

    当我将JavaScript数字函数作为参数传递时,为什么JavaScript函数会自动转换二进制数字?

  16. 16

    传递字段符号作为更改参数会导致短时转储。为什么?

  17. 17

    函数为什么要在传递给它的参数上使用“运算符的地址”作为指针?

  18. 18

    为什么将对象推入Ember数组时Ember会抱怨?

  19. 19

    什么是CGSUpdateManager,为什么会抱怨?

  20. 20

    Tensorflow:ValueError:传递的初始化程序无效。它应该是一个没有参数的可调用对象,并且应该完全定义“ shape”

  21. 21

    为什么在尝试使用ref时打字稿会抱怨?

  22. 22

    当将某些文件作为工件传递时,为什么GitLab CI / CD会忽略某些文件?

  23. 23

    在函数外部声明数组大小参数时,为什么不能将其作为变量?

  24. 24

    为什么将参数传递给new Date()会导致与不传递任何参数时不同的时区?

  25. 25

    为什么当我添加 POLLHUP 作为事件时,WSAPoll 返回错误(无效参数)?

  26. 26

    当我使用类类型作为参数时,为什么modelstate在剃刀页面中无效?

  27. 27

    我的代码行中的字符串格式有什么问题,为什么会这样说:TypeError:'NoneType'对象不可调用?

  28. 28

    当我引入CSS变量时,为什么浏览器会尝试使用其他无效的属性声明?

  29. 29

    当将空列表作为函数的默认参数时,python为什么会显示此行为?

热门标签

归档