当前位置:  开发笔记 > 编程语言 > 正文

引用或指向不完整类型的std :: vector

如何解决《引用或指向不完整类型的std::vector》经验,为你挑选了0个好方法。

正如在这里所回答的:如何将不完整类型用作向量的模板参数?在实例化模板组件时使用不完整类型作为模板参数可能导致未定义的行为.但是当我们只有指向不完全类型的模板组件的指针/引用作为参数时,该规则是否成立?在这种情况下,实例也会发生吗?

例如:

// SomeAlgoInterface.hpp

#include  

struct Result; // forward declaration

class SomeAlgoInterface
{
  public:

   virtual ~SomeAlgoInterface() = default; 

  public:

    // the following line is definitely OK, ...
    virtual void f1(const Result & result) = 0; 

    // ... but I'm not quite sure about the following one
    virtual void f2(const std::vector & results) = 0; 
};

换句话说,上面的代码是否有效?

推荐阅读
手机用户2402852307
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有