<i id='mazkn'><tr id='mazkn'><dt id='mazkn'><q id='mazkn'><span id='mazkn'><b id='mazkn'><form id='mazkn'><ins id='mazkn'></ins><ul id='mazkn'></ul><sub id='mazkn'></sub></form><legend id='mazkn'></legend><bdo id='mazkn'><pre id='mazkn'><center id='mazkn'></center></pre></bdo></b><th id='mazkn'></th></span></q></dt></tr></i><div id='mazkn'><tfoot id='mazkn'></tfoot><dl id='mazkn'><fieldset id='mazkn'></fieldset></dl></div>

  1. <small id='mazkn'></small><noframes id='mazkn'>

      <tfoot id='mazkn'></tfoot>
        <bdo id='mazkn'></bdo><ul id='mazkn'></ul>
    1. <legend id='mazkn'><style id='mazkn'><dir id='mazkn'><q id='mazkn'></q></dir></style></legend>

      我什么时候应该使用关键字“typename"?使用模

      时间:2023-05-25
      <i id='83qss'><tr id='83qss'><dt id='83qss'><q id='83qss'><span id='83qss'><b id='83qss'><form id='83qss'><ins id='83qss'></ins><ul id='83qss'></ul><sub id='83qss'></sub></form><legend id='83qss'></legend><bdo id='83qss'><pre id='83qss'><center id='83qss'></center></pre></bdo></b><th id='83qss'></th></span></q></dt></tr></i><div id='83qss'><tfoot id='83qss'></tfoot><dl id='83qss'><fieldset id='83qss'></fieldset></dl></div>

      • <bdo id='83qss'></bdo><ul id='83qss'></ul>

          <legend id='83qss'><style id='83qss'><dir id='83qss'><q id='83qss'></q></dir></style></legend><tfoot id='83qss'></tfoot>

            <tbody id='83qss'></tbody>

              <small id='83qss'></small><noframes id='83qss'>

                本文介绍了我什么时候应该使用关键字“typename"?使用模板时的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

                问题描述

                限时送ChatGPT账号..

                我最近一直在做一个小项目,但我想不出什么..

                I've been working lately on a small project, and I couldn't figure out something..

                我得到了一个包含类的 .h 文件,使用了 typename 模板.在那个班级里面有一个私人班级.

                I've been given a .h file that was containing a class, using a typename template. Inside that class there was a private class.

                template <typename T>
                class Something
                {
                public:
                        Something();
                        ~Something();
                
                        Node* Function1(int index);
                        int Index(const T& id);
                
                
                private:
                        class Node()
                        {
                                public:
                                T id;
                
                                //Imagine the rest for the Node
                
                
                        };      
                };
                

                当我想定义Something"类的函数时出现问题

                The problem occured when I wanted to define the functions of the class "Something"

                这是我的做法(在 .inl 文件中)

                Here's how I was doing it (in a .inl file)

                template<typename T>
                Node* Something::Function1(int index) //Is the return type well written?
                {
                        // returns the node at the specified index
                }
                
                template<typename T>
                int Something::Index(const T& id) //Is the parameter type well specified?
                {
                        // returns the index of the node with the specified id
                }
                

                所以问题部分是在定义部分......我是否必须告诉编译器返回类型(在这种情况下 Node*)使用 typename 模板(像这样:typename Node*) ?那么参数呢?typename const Node& ?

                So the bugging part was in the definitions part... Do I have to tell the compiler that the return type (in this case Node*) uses the typename template (like this: typename Node*) ? And what about the parameter ? typename const Node& ?

                所以基本上,我什么时候必须指定函数/参数是否使用模板?

                So basically, when do I have to specify wether the function/parameter uses a template?

                感谢您的时间.

                推荐答案

                template<typename T>
                typename Something<T>::Node * Something::Function1(int index) //Is the return type well written?
                {
                        // returns the node at the specified index
                }
                

                这篇关于我什么时候应该使用关键字“typename"?使用模板时的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持html5模板网!

                上一篇:依赖名称解析命名空间 std/标准库 下一篇:混合模板与多态性

                相关文章

                最新文章

                  <i id='jIrXe'><tr id='jIrXe'><dt id='jIrXe'><q id='jIrXe'><span id='jIrXe'><b id='jIrXe'><form id='jIrXe'><ins id='jIrXe'></ins><ul id='jIrXe'></ul><sub id='jIrXe'></sub></form><legend id='jIrXe'></legend><bdo id='jIrXe'><pre id='jIrXe'><center id='jIrXe'></center></pre></bdo></b><th id='jIrXe'></th></span></q></dt></tr></i><div id='jIrXe'><tfoot id='jIrXe'></tfoot><dl id='jIrXe'><fieldset id='jIrXe'></fieldset></dl></div>
                1. <tfoot id='jIrXe'></tfoot>
                2. <legend id='jIrXe'><style id='jIrXe'><dir id='jIrXe'><q id='jIrXe'></q></dir></style></legend>

                  <small id='jIrXe'></small><noframes id='jIrXe'>

                      <bdo id='jIrXe'></bdo><ul id='jIrXe'></ul>