C++ - 'this'时代错误
C++ - assignment to 'this' anachronism
我得到了此代码,并要求说明它的问题以及如何修复它。代码给我一个错误,例如c++ assignment to this anachronism
,我不确定这是什么意思。
我是C 的新手,我不知道在这里该怎么办。请帮忙。这是所讨论的代码:
class SELF
{
private:
SELF * me;
public:
SELF()
{
this = me;
}
};
如何分配值
这是一个C 构造,在30年前从该语言中删除。从80年代中期cfront
的早期开始,您仍然可以找到这样的编译器,直到90年代初。它被operator new
替换。我在编译器上写了一些我的第一个C 代码(用于Mandlebrot Set Generator的complex
类(。
您最初在这里没有提供足够的上下文来知道如何在这种情况下解决问题。没有可以规定应用于所有情况的微不足道的转换。
最初创建了构造,因此您可以为构造函数中的对象分配内存。如果您分配给构造函数中的this
,则编译器在创建对象时不会为您的对象分配内存,它假定您自己在构造函数中自己做。
在评论中,您说这是直接从大学作业中复制的,我敢打赌,甚至您的教授都不知道这种旧结构,解决方案可能只是简单地说me = this;
而不是this = me;
。
但是,您的编译器称其为"过时"的原因是。
对于任何对历史感兴趣的人,可以在Cfront版本的第42页" E"的第42页上看到。
相关文章:
- 警告处理为错误这里有什么问题
- "error: no matching function for call to"构造函数错误
- boost::进程间消息队列引发错误
- C++,OpenCV,尝试显示图像时"OpenCV(4.3.0) Error: Assertion failed (size.width>0 && size.height>0)"此错误
- 有关插入适配器的错误。[错误]请求从 'back_insert_iterator<vector<>>' 类型转换为非标量类型
- QT在错误的班级中寻找空位
- vector.resize()中的分配错误
- 代码在main()中运行,但在函数中出现错误
- 释放错误后堆使用
- (C++)分析树以计算返回错误值的简单算术表达式
- Project Euler问题4的错误解决方案
- 我的字符计数代码计算错误.为什么
- 从"int*"强制转换为"unsigned int"会丢失精度错误
- 尝试导入pybind-opencv模块时出现libgtk错误
- CMake项目Boost库错误:Boost/config/compiler/gcc.hpp:165:10:致命错误:cs
- 在某些循环内使用vector.push_back时出现分段错误
- MSVC多行宏编译器错误
- 静态数据成员的问题-修复链接错误会导致编译器错误
- C++ - 'this'时代错误
- 解释了C++的时代错误