#include <iostream>
int main()
{
const int l_loc[3] = {1,2,3};
int (*l_loc2)[3] = NULL;
l_loc2 = const_cast<int (*)[3]>(l_loc); // complaining here.
std::cout<<l_loc2[1]<<std::endl;
return 0;
}
./ example.cpp:7:错误:从'const int *'类型的const_cast无效到'int(*)[3]'
我只能修改那条尖锐的线条。任何线索请。
答案 0 :(得分:0)
java.lang.ClassCastException:
com.google.common.collect.Maps$TransformedEntriesMap cannot be cast to
org.openqa.selenium.WebElement
#include <iostream>
int main()
{
const int l_loc[3] = {1,2,3};
int (*l_loc2)[3] = NULL;
l_loc2 = const_cast<int (*)[3]>(l_loc); // complaining here.
std::cout<<l_loc2[1]<<std::endl;
return 0;
}
是指向数组中第一个整数的指针。它包含的地址是不变的。您无法重新指定l_loc
指向另一个整数常量数组。这就是为什么你还必须施放l_loc
的地址。因此,您需要传递l_loc
的地址,即l_loc2 = const_cast<int (*)[3]>(l_loc)
,而不是l_loc
。结果&l_loc
我希望这会有所帮助。