Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/151.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++;:推导模板化函数的类型时出错 我试图在C++中的模板中讨论类型推导。我正在试验数组参数的类型推断,代码如下: template <typename T, std::size_t N> constexpr std::size_t func(T (&)[N]) { return N; }_C++_C++11 - Fatal编程技术网

C++;:推导模板化函数的类型时出错 我试图在C++中的模板中讨论类型推导。我正在试验数组参数的类型推断,代码如下: template <typename T, std::size_t N> constexpr std::size_t func(T (&)[N]) { return N; }

C++;:推导模板化函数的类型时出错 我试图在C++中的模板中讨论类型推导。我正在试验数组参数的类型推断,代码如下: template <typename T, std::size_t N> constexpr std::size_t func(T (&)[N]) { return N; },c++,c++11,C++,C++11,我得到的主要错误似乎是:严重性代码描述项目文件行抑制状态 错误(活动)E1097未知属性“no_init_all”项目名C:\Program Files(x86)\Windows Kits\10\Include\10.0.18362.0\um\winnt.h 7597 你知道这个问题是什么吗?如何解决呢 显然,我不需要声明参数的名称,因为我不需要在这个函数中使用它,但我只是想知道为什么会出现这个错误 语法将是 template <typename T, std::size_t N>

我得到的主要错误似乎是:严重性代码描述项目文件行抑制状态 错误(活动)E1097未知属性“no_init_all”项目名C:\Program Files(x86)\Windows Kits\10\Include\10.0.18362.0\um\winnt.h 7597

你知道这个问题是什么吗?如何解决呢

显然,我不需要声明参数的名称,因为我不需要在这个函数中使用它,但我只是想知道为什么会出现这个错误

语法将是

template <typename T, std::size_t N>
constexpr std::size_t func(T (&arr)[N]);
模板
constexpr std::size_t func(t(&arr)[N]);
您可以使用alias来使用更自然的语法:

template <typename T, std::size_t N>
using CArray = T[N];

template <typename T, std::size_t N>
constexpr std::size_t func(CArray<T, N>& arr);
模板
使用CArray=T[N];
模板
constexpr std::size\u t func(CArray&arr);
语法将是

template <typename T, std::size_t N>
constexpr std::size_t func(T (&arr)[N]);
模板
constexpr std::size_t func(t(&arr)[N]);
您可以使用alias来使用更自然的语法:

template <typename T, std::size_t N>
using CArray = T[N];

template <typename T, std::size_t N>
constexpr std::size_t func(CArray<T, N>& arr);
模板
使用CArray=T[N];
模板
constexpr std::size\u t func(CArray&arr);
Use
T(&arr)[N]
“abc”
实际上是一个
char[4]
,它有一个
\0
。Use
T(&arr)[N]
“abc”
实际上是一个
char[4]
,它有一个
\0