无法在分配中将'int*'转换为'ABC*'
cannot convert 'int*' to 'ABC*' in assignment
我搞不清这个小编译错误。。。
文件.h
#ifndef FILE_H
#define FILE_H
class ABC: public QWidget
{
Q_OBJECT
public:
ABC(QWidget* parent) : QWidget(parent)
{
..
}
..
};
class BCD : public QDialog
{
....
ABC* m_abc;
};
#endif
在文件.cpp 中
#include "file.h"
BCD::BCD()
{
....
m_abc = new ABC::ABC(ui->frame); /// line with errors
}
获取错误
expected type specifier
cannot convert 'int*' to 'ABC*' in assignment
expected ;
所以我试着去研究这个错误的原因。。。并检查可能的问题。。。(就像这个问题中的错误:在';ClassName';之前需要类型说明符)
我的包含警卫很好,课程设置很好,intelligense找到所有符号。。。
将线路更改为
m_abc = new ::ABC::ABC(ui->frame);
导致错误:
expected type specifier before :: token
cannot convert 'int*' to 'ABC*' in assignment
expected ; before '::' token
我在哪里可以找到我的错误?
抱歉,我无法列出整个代码。
new ABC::ABC(ui->frame)
应为new ABC(ui->frame)
你把构造函数调用错了。
原因是ABC::ABC在名称空间ABC中查找类ABC(您可能没有,因此它默认为int),但如果您只使用ABC,它将在当前名称空间中找到ABC
相关文章:
- 防止主数据类型C++的隐式转换
- 模板参数替换失败,并且未完成隐式转换
- 努力将整数转换为链表。不知道我在这里做错了什么
- HEX值到wchar_t字符(UTF-8)的转换
- lambda参数转换为constexpr技巧,然后获取带链接的数组
- 将 Qvector<uint8_t> 转换为 QString
- 如何在cuSparse中使用cusparseXcoo2csr从coo转换为csc
- 有关插入适配器的错误。[错误]请求从 'back_insert_iterator<vector<>>' 类型转换为非标量类型
- 在c++中使用nlohmann从类到json的转换
- 从"int*"强制转换为"unsigned int"会丢失精度错误
- 将Integer转换为4字节的unsined字符矢量(按大端字节顺序)
- 处理小于cpu数据总线的数据类型.(c++转换为机器代码)
- 如何使用OpenCV将RBG图像转换为HSV,并将H、S和V值保存为C++中的3个独立图像
- 复制列表初始化的隐式转换的等级是多少
- 正在将指针转换为范围
- 如何防止 c++ 在从浮点型转换为双精度型(不适用于 IO)时添加额外的小数?
- 将"打开的CV图像"中的"颜色"转换为整数格式
- JavaCPP 错误:无法将参数"1"的"char*"转换为"Abc*
- 无法在分配中将'int*'转换为'ABC*'
- Char *data = "abc";释放((void*)data);为什么是void*转换?有必要