我正在编写条件以查看const llvm::Value *是否为常量。代码如下:
if(const Constant* c = dynamic_cast<Constant>(val)){
......
}
“val”是const llvm::Value *,但是,编译器说
error: 'llvm::Constant' is not a reference or pointer
if(const Constant* c = dynamic_cast<Constant>(val)){
^ ~~~~~~~~~~
我该如何修改?
最佳答案
dynamic_cast
中使用的类型必须是指针或引用类型。我猜您也想保持const
的风格。
尝试这个:
dynamic_cast<const Constant*>(val)
// ^^^^^ ^
关于c++ - 在llvm中确定常量值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48635807/