1
13
您需要包含标题定义
|
2
4
事实证明,只有当我将c'tor内联时,问题才会出现。如果我把c'tor放在cpp里,在
|
3
3
您可以考虑Booo::SydDypTr.()。与性能相比,它没有实际的缺点,并且对于转发声明更加友好:
没关系,上面没有额外的声明。 shared_ptr比auto_ptr做得更多,比如引用计数,但如果您不需要它,它应该不会有什么害处。 |
4
3
这似乎很可笑,但我通过添加
|
5
2
如其他人所指出的,如果在cont.cpp文件中实现析构函数并包含internal.h,则头中的转发声明是可以的。 问题可能在于Cont的使用。在使用(和销毁)Cont的每个cpp中,您必须包括Cont.h和inner.h。这就解决了我的问题。 |
6
0
This question (使用私有析构函数删除对象)和 this question |
7
0
从技术上讲,您不应该用不完整的类型实例化标准库模板,尽管我知道没有哪种实现不起作用。实际上,Sharptooth的答案也是我推荐的。 对impl指针使用裸指针并没有什么问题,只要在析构函数中对其调用delete。您可能还应该实现或禁用复制构造函数和赋值运算符。 |
Community wiki · safe_ptr实现 1 年前 |
lplplplp · 为什么不能访问函数外的结构指针 2 年前 |
Fabio · 在c中将指针赋给常数指针++ 2 年前 |
Gabe Tucker · 无法在golang中分配接口对象指针 2 年前 |