[英]member-to-pointer variable only accepted as function template argument in Clang with -std=c++17
[英]Could I use std::any with C++17 for pointer to member variable?
我正在学习std :: any https://en.cppreference.com/w/cpp/utility/any 。 我想知道我是否可以使用它来访问数据成员或类的functino成员。 我有一个结构:
struct test
{
int a;
double b;
}
然后我想要一个可以测试:: a或test :: b的通用类型。
std::any ptr;
ptr = &test::a;
现在ptr
是一个指向构件a
类的test
。 如果我创建一个新的类test
对象。 我不知道设置此对象的成员a
的新值。 我尝试了类似下面的内容,但它在编译器中失败了。
test t;
std::any ptr;
ptr = &test::a;
// set a value for member a of object t using ptr ??
t.*(std::any_cast<test::*>(ptr)) = 1;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.