成员模板函数,传入非const参数,在函数中得到const属性。怎么能让传入后属性不变啊?现象如下:
/// a.h
class A{
public:
template<typename DataType>
static bool GetData(DataType *out){
std::cout << typeid(out).name() << std::endl;
return true;
}
};
///main.cpp
struct Point2D{
float x;
float y;
};
int main(int argc, char *argv[])
{
Point2D p2d2{1.0, 2.0};
std::cout << typeid(&p2d2).name() << std::endl;
std::thread t([=](){
BlackBoard::GetData( &p2d2);
});
t.join();
return 0;
}
/// output
/*
传入前输出:struct Point2D * __ptr64
传入后输出:struct Point2D const * __ptr64
*/
求大神指点