如何解决:"错误 C2039:'{ctor}' : 不是“的成员” 在 Visual Studio 2005 中?

发布于 2024-07-09 14:35:41 字数 724 浏览 3 评论 0 原文

我正在 Visual Studio 2005 中使用 C++ 扩展模板类。 当我尝试使用以下内容扩展模板基类时,它给了我一个错误:

template <class K, class D>
class RedBlackTreeOGL : public RedBlackTree<K, D>::RedBlackTree  // Error 1
{
 public:
  RedBlackTreeOGL();
  ~RedBlackTreeOGL();

当我尝试实例化对象时,它给了我第二个错误:

RedBlackTreeOGL<double, std::string> *tree = new RedBlackTreeOGL<double, std::string>; // error 2

错误1:

**redblacktreeopengl.hpp(27):错误C2039 : '{ctor}' : 不是 'RedBlackTree' 的成员 和 [ K=双倍, D=std::字符串 ] **

错误 2:

main.cpp(50) :请参阅正在编译的类模板实例化“RedBlackTreeOGL”的参考

I am extending a template class using C++ in Visual Studio 2005.
It is giving me an error when I try to extend the template base class with:

template <class K, class D>
class RedBlackTreeOGL : public RedBlackTree<K, D>::RedBlackTree  // Error 1
{
 public:
  RedBlackTreeOGL();
  ~RedBlackTreeOGL();

and a second error when I try to instantiate the object:

RedBlackTreeOGL<double, std::string> *tree = new RedBlackTreeOGL<double, std::string>; // error 2

Error 1:

**redblacktreeopengl.hpp(27) : error C2039: '{ctor}' : is not a member of 'RedBlackTree'
with
[
K=double,
D=std::string
]
**

Error 2:

main.cpp(50) : see reference to class template instantiation 'RedBlackTreeOGL' being compiled

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

无悔心 2024-07-16 14:35:41

该代码试图继承构造函数,而不是类:-)

类声明的开头应该是

template <class K, class D>
class RedBlackTreeOGL : public RedBlackTree<K, D>

The code is trying to inherit a constructor, not a class :-)

The start of the class declaration should be

template <class K, class D>
class RedBlackTreeOGL : public RedBlackTree<K, D>
木槿暧夏七纪年 2024-07-16 14:35:41

天啊,我觉得自己太傻了……看我自己的代码太久了!

这是一个非常基本的事情,我不知道我是如何错过它的!

谢谢詹姆斯(和 SDX2000),这通过将声明末尾的“构造函数”去掉为詹姆斯所说的内容而起作用。

谢谢 :)

OMG, I feel so silly..... been looking at my own code for far too long!

Thats a pretty basic thing and I dont know how i missed it!

Thank you James (and SDX2000) this worked by taking the "constructor" off the end of the declaration to what James said.

Thank you :)

欲拥i 2024-07-16 14:35:41

RedBlackTree::RedBlackTree 是否有默认构造函数? 如果您有其他参数化构造函数(ctor),C++ 本身不会定义默认构造函数。

Does RedBlackTree<K, D>::RedBlackTree have a default constructor? C++ doesnt define a default constructor by itself if you have other parameterized constructors (ctors).

吖咩 2024-07-16 14:35:41

@SDX2000:

是的,我在 RedBlackTree::RedBlackTree 中定义了一个构造函数:

template <class K, class D>
class RedBlackTree
    {
    public:
        RedBlackTree();
        // Deleting a storage object clears all remaining nodes
        ~RedBlackTree();

我还为 RedBlackTree 类的构造函数和析构函数实现了主体

@SDX2000:

Yes, I have defined a constructor in RedBlackTree::RedBlackTree:

template <class K, class D>
class RedBlackTree
    {
    public:
        RedBlackTree();
        // Deleting a storage object clears all remaining nodes
        ~RedBlackTree();

I have also implemented a body for the constuctor and destructor for RedBlackTree class

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文