C++ 我可以用“using”声明类型[[nodiscard]]吗?

C++ 我可以用“using”声明类型[[nodiscard]]吗?,c++,c++17,C++,C++17,您可以使用[[nodiscard]]属性声明一个类。当您从这个类的语义中知道无论何时从函数返回它,它都必须用于某些东西时,它可能会很有用。我正好有这种情况,用[[nodiscard]]来标记类将非常方便,而不是使用每个返回它的函数。然而,有一个复杂问题。这是我需要制作的[[nodiscard]]类型: 是否有语法将我的连接结构标记为[[nodiscard]]?[[nodiscard]]不能应用于别名 属性标记nodiscard可以应用于函数声明中的声明器id,也可以应用于类或枚举的声明 重点补充

您可以使用[[nodiscard]]属性声明一个类。当您从这个类的语义中知道无论何时从函数返回它,它都必须用于某些东西时,它可能会很有用。我正好有这种情况,用[[nodiscard]]来标记类将非常方便,而不是使用每个返回它的函数。然而,有一个复杂问题。这是我需要制作的[[nodiscard]]类型:

是否有语法将我的连接结构标记为[[nodiscard]]?

[[nodiscard]]不能应用于别名

属性标记nodiscard可以应用于函数声明中的声明器id,也可以应用于类或枚举的声明

重点补充

using ConnectionStruct = std::pair<std::shared_ptr<CMutex>, std::shared_ptr<SignalFunction>>;