模板类VS2013的异常行为

汤姆·戴维斯

我有一个模板类:

template <class T>
class Wrapper {
public:
    Wrapper() {};

    Wrapper(const T& object) : mObject(object){ };

    template <class F, class... Args >
    typename void operation(const F& f, Args... args)
    {
        std::cout << "intercept";
        (mobject.*f)(args...);
    }

private:
    T mObject;
};

然后我就这样使用它:

struct thing{
    void doSomething(char c) { cout << "dosomething on " << c; };
};

Wrapper<thing> p;
p.operation(&thing::doSomething, 'g');

很好,然后输出“在g上进行拦截然后做某事”。然后,如果我尝试像这样使用Wrapper的另一个构造函数:

Wrapper<thing> p2(thing());
p2.operation(&thing::doSomething, 'f');

VS2013在尝试在p2上调用某些内容的行上出现了编译失败。它说操作的左边不是类/结构/联合。

?? 我是否缺少明显的东西?

丹尼尔·弗雷(Daniel Frey)

这声明了一个函数p2

Wrapper<thing> p2(thing());

它返回Wrapper<thing>并具有一个类型为的未命名参数thing(*)()你需要:

Wrapper<thing> p2((thing()));

要么

thing t;
Wrapper<thing> p2(t);

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

VS2013的奇怪行为

来自分类Dev

具有rvalue引用参数的模板赋值运算符与vs2013和gcc的行为不同

来自分类Dev

VS2013可变参数模板编译错误

来自分类Dev

VS2013上的模板专业化和SFINAE

来自分类Dev

模板重载分辨率奇数VS2013

来自分类Dev

<filesystem>在VS2013与VS2012中的不同行为

来自分类Dev

VS2013(RTW):SPA模板与MVC5模板中的身份验证差异?

来自分类Dev

空类定义与空类声明,VS2012与VS2013

来自分类Dev

打字稿VS2013

来自分类Dev

使用微风在VS2013中获取异常System.Web.Http?

来自分类Dev

如何通过Dragon Naturally Speaking运行来防止VS2013捕获COM异常

来自分类Dev

为什么VS2013在销毁唯一指针时会引发异常?

来自分类Dev

XAML项目的Blend和VS2013中缺少行为,但Javascript项目中存在行为

来自分类Dev

VS2013中的可变参数模板分辨率-错误C3520

来自分类Dev

VS2013中使用可变参数模板时“对重载函数的歧义调用”

来自分类Dev

VS2013 MVC 5模板:使用会话将声明从ExternalLoginCallback保存到ExternalLoginConfirmation是否错误

来自分类Dev

在VS2013中使用可变参数模板时“对重载函数的歧义调用”

来自分类Dev

VS2013中缺少ASP.NET MVC5模板

来自分类Dev

“在此模板中禁用了ASP.NET成员资格”-vs2013 Web表单模板

来自分类Dev

VS2013和Azure-部署模板验证失败,尽管我没有编辑模板和项目属性

来自分类Dev

VS2013:优化具有向量成员的类的移动语义的潜在问题?

来自分类Dev

VS2013:当正则表达式包含\时,STL regex类崩溃

来自分类Dev

VS2013在未命名空间中存在基类时遇到麻烦

来自分类Dev

VS2013:优化具有向量成员的类的移动语义的潜在问题?

来自分类Dev

VS2013:当正则表达式包含\时,STL regex类崩溃

来自分类Dev

C ++模板:VS2017中出现C2143错误,但在VS2013中编译

来自分类Dev

为什么VS2013在关闭文件时有时会引发异常0x80070057?

来自分类Dev

VS2013似乎无法正确附加-调试器已附加但未配置为调试此未处理的异常

来自分类Dev

如何使用VS2013 MVC5模板显示自定义配置文件信息?

Related 相关文章

  1. 1

    VS2013的奇怪行为

  2. 2

    具有rvalue引用参数的模板赋值运算符与vs2013和gcc的行为不同

  3. 3

    VS2013可变参数模板编译错误

  4. 4

    VS2013上的模板专业化和SFINAE

  5. 5

    模板重载分辨率奇数VS2013

  6. 6

    <filesystem>在VS2013与VS2012中的不同行为

  7. 7

    VS2013(RTW):SPA模板与MVC5模板中的身份验证差异?

  8. 8

    空类定义与空类声明,VS2012与VS2013

  9. 9

    打字稿VS2013

  10. 10

    使用微风在VS2013中获取异常System.Web.Http?

  11. 11

    如何通过Dragon Naturally Speaking运行来防止VS2013捕获COM异常

  12. 12

    为什么VS2013在销毁唯一指针时会引发异常?

  13. 13

    XAML项目的Blend和VS2013中缺少行为,但Javascript项目中存在行为

  14. 14

    VS2013中的可变参数模板分辨率-错误C3520

  15. 15

    VS2013中使用可变参数模板时“对重载函数的歧义调用”

  16. 16

    VS2013 MVC 5模板:使用会话将声明从ExternalLoginCallback保存到ExternalLoginConfirmation是否错误

  17. 17

    在VS2013中使用可变参数模板时“对重载函数的歧义调用”

  18. 18

    VS2013中缺少ASP.NET MVC5模板

  19. 19

    “在此模板中禁用了ASP.NET成员资格”-vs2013 Web表单模板

  20. 20

    VS2013和Azure-部署模板验证失败,尽管我没有编辑模板和项目属性

  21. 21

    VS2013:优化具有向量成员的类的移动语义的潜在问题?

  22. 22

    VS2013:当正则表达式包含\时,STL regex类崩溃

  23. 23

    VS2013在未命名空间中存在基类时遇到麻烦

  24. 24

    VS2013:优化具有向量成员的类的移动语义的潜在问题?

  25. 25

    VS2013:当正则表达式包含\时,STL regex类崩溃

  26. 26

    C ++模板:VS2017中出现C2143错误,但在VS2013中编译

  27. 27

    为什么VS2013在关闭文件时有时会引发异常0x80070057?

  28. 28

    VS2013似乎无法正确附加-调试器已附加但未配置为调试此未处理的异常

  29. 29

    如何使用VS2013 MVC5模板显示自定义配置文件信息?

热门标签

归档