gpt4 book ai didi

c++ - 我怎么说 "noexcept if execution of protected base constructor is noexcept"?

转载 作者:可可西里 更新时间:2023-11-01 15:27:44 35 4
gpt4 key购买 nike

我们遇到过这种情况,想知道解决它的最佳方法

template<typename T>
struct A : T {
A(T &&t) noexcept(noexcept(T(std::move(t))))
:T(std::move(t))
{ }
};

不幸的是编译失败,因为 T 的移动构造函数是 protected ,我们只能在 *this 的构造函数初始化列表中调用它。使这项工作有什么变通办法,或者甚至有标准的方法吗?

最佳答案

您正在寻找noexcept(std::is_nothrow_move_constructible<T>::value) : http://en.cppreference.com/w/cpp/types/is_move_constructible

关于c++ - 我怎么说 "noexcept if execution of protected base constructor is noexcept"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38772255/

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