- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
*' to ' FDHNode 我一直收到错误“C2440:” '=': cannot convert from 'const FDHNode *' to 'FDHNode *"而且我一辈子都弄不明白。这是我的代码和定义函数,其中问题显然来自。 最佳答案 变量 和变量 添加的 有两种方法可以解决这个问题,具体取决于某些事情: 注意:有 关于c++ - 状态错误 C2440 :" ' =': cannot convert from ' const FDHNode<ItemType> *' to ' FDHNode<ItemType> *'"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43218888/ 我一直收到错误“C2440:” '=': cannot convert from 'const FDHNode *' to 'FDHNode *"而且我一辈子都弄不明白。这是我的代码和定义函数,其中问c++ - 状态错误 C2440 :" ' =': cannot convert from ' const FDHNode
template<class ItemType>
class FDHNode
{
private:
ItemType coeff; //Data item representing coefficient
ItemType expon; //Data item representing exponent
FDHNode<ItemType>* next; //Pointer to a next node
public:
FDHNode();
FDHNode(const ItemType& coeffi, const ItemType& expone);
FDHNode(const ItemType& coeffi, FDHNode<ItemType>* nextNodePtr);
void setCoeffi(const ItemType& aCoeffi);
void setExpon(const ItemType& anExpon);
void setNext(const FDHNode<ItemType>* NEXTPTR);
ItemType getCoeffi();
ItemType getExpon();
FDHNode<ItemType>* getNext();
void print();
};
template<class ItemType>
void FDHNode<ItemType>::setNext(const FDHNode<ItemType>* NEXTPTR)
{
next = NEXTPTR;
}next
定义如下:FDHNode<ItemType>* next; //Pointer to a next node
NEXTPTR
定义如下:const FDHNode<ItemType>* NEXTPTR
const
有它的意义,说明它不能被修改。当您分配 NEXTPTR
时至 next
, 这成为一个问题,因为 next
可以修改,但是NEXTPTR
是常数。
next
指针实际上是可以更改的,然后您必须修改 NEXTPTR
的定义这样它就不是 const
.如果这样做,您的函数声明将是这样的:void FDHNode<ItemType>::setNext(FDHNode<ItemType>* NEXTPTR)
next
变量为 const
以及。像这样:const FDHNode<ItemType>* next;
const_cast<>
这可以抛弃 const
-变量的性质。但是,如果您不知道这个问题的答案,那么您不太可能需要在此处强制转换,因为在这种情况下它弊大于利。
我是一名优秀的程序员,十分优秀!