小编v.p*_*v.p的帖子

临时在访问()调用中?

我有一个关于在使用时返回对本地对象的引用的编译警告visit(),但我无法理解为什么......

我使用以下代码(有点做作,但这是出于演示目的):

#include <iostream>

template <class... Ts> struct overloaded : Ts... {
  using Ts::operator()...;
};

template <class... Ts> overloaded(Ts...) -> overloaded<Ts...>;


using namespace std;


class B {
public:
  B(int i) :
    i_(i) {}

  int get_i() const {
    return i_;
  }

private:
  int i_;
};

class D: public B {
public:
  D(int i) :
    B(i) {}
};

const B& as_base(const variant<B, D>& op) {
    return visit(overloaded {
        [](const B& b) { return static_cast<const B&>(b); },
        [](const D& d) { …
Run Code Online (Sandbox Code Playgroud)

c++ visitors temporary-objects

1
推荐指数
1
解决办法
55
查看次数

标签 统计

c++ ×1

temporary-objects ×1

visitors ×1