我有一个定义为extBlock的类。
然后我用这个做一个该类的实例
extBlock mainBlock = new extBlock(1, 1024);
我收到此错误:
错误C2440:“正在初始化”:无法从“ extBlock *”转换为“ extBlock”
任何人都可以帮助我,为什么我会收到此错误。
我在网上看到了用指针声明它的例子
extBlock *mainBlock = new extBlock(1, 1024);
但是,如果我这样做,就不会让我调用mainBlock的功能
最佳答案
这不是C#:new extBlock
返回指向extBlock
的指针,而您试图将该指针分配给值类型(这将是不兼容的强制转换)。
你想在这里写的是
extBlock mainBlock(1, 1024);
无法在第二个代码段上调用方法的原因可能是因为您使用的是
.
运算符,而不是需要取消引用指针的->
(arrow)运算符。