Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/139.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++ 返回类模板中定义的类型的值 > 类中返回一个值;返回类型必须为X::size\u类型 模板类X{ 公众: typedef size_t size_type; 大小\类型大小()常量; // ... } 模板X::size\u类型X::size()常量{ // ... }_C++_Class_Templates_Visual C++_Return Type - Fatal编程技术网

C++ 返回类模板中定义的类型的值 > 类中返回一个值;返回类型必须为X::size\u类型 模板类X{ 公众: typedef size_t size_type; 大小\类型大小()常量; // ... } 模板X::size\u类型X::size()常量{ // ... }

C++ 返回类模板中定义的类型的值 > 类中返回一个值;返回类型必须为X::size\u类型 模板类X{ 公众: typedef size_t size_type; 大小\类型大小()常量; // ... } 模板X::size\u类型X::size()常量{ // ... },c++,class,templates,visual-c++,return-type,C++,Class,Templates,Visual C++,Return Type,上述代码会导致错误。我在X::size\u type之前添加了typename,这个问题似乎已经解决了,但我不明白为什么 这是正确的方式吗?< /P> < P>由于C++复杂且有时不明确的语法,有时需要对解析器/编译器进行提示。 通常,在引用类中定义的类型时,需要使用typename来提示编译器您所说的是类型而不是值(因为X::size\u type可以是其中之一)。是的,这里的typename是正确的。

上述代码会导致错误。我在
X::size\u type
之前添加了
typename
,这个问题似乎已经解决了,但我不明白为什么


这是正确的方式吗?< /P> < P>由于C++复杂且有时不明确的语法,有时需要对解析器/编译器进行提示。


通常,在引用类中定义的类型时,需要使用
typename
来提示编译器您所说的是类型而不是值(因为
X::size\u type
可以是其中之一)。

是的,这里的typename是正确的。