gpt4 book ai didi

c++ - 模板类 : gcc vs VS 中的静态函数

转载 作者:行者123 更新时间:2023-11-28 01:36:48 25 4
gpt4 key购买 nike

<分区>

以下 C++ 代码编译并适用于 Visual Studio 2017,但在 gcc 5.0 中会出现错误“expected primary-expression before '>' token”。知道为什么吗? Description是一个结构体,Description::add是一个函数模板。

template <class X>
struct DataPoint
{
X value;

DataPoint()
: value(0.) {}

DataPoint( X value )
: value(value) {}

static void describe(Description< DataPoint<X> > & desc)
{
desc.add<X>("f", ".", offsetof(DataPoint<X>, value));
}
}

事实上,当未指定 DataPoint 模板类型时,VS 甚至不会报错:

static void describe(Description<DataPoint> & desc)
{
desc.add<X>("f", ".", offsetof(DataPoint, value));
}

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