const int transforms to int*
const int transforms to int*
/*调试信息表明 const int 不能转换为 int,但是当我更改返回 &vec[i]; 返回 (int)&vec[i]*/
int* find(const vector<int> &vec, const int value) {
for (int i = 0; i < vec.size(); i++) {
if (vec[i] == value) {
cout << "找到该值得地址为:" << &vec[i] << endl;
return &vec[i];
}
}
return NULL;
}
你说该函数将返回一个指向非常量数据的指针,但随后返回一个指向常量数据的指针(vec
是常量,其中的数据也是如此)。常量和非常量数据是不一样的。
简单的解决方案是将返回类型更改为 const int*
。
相关文章:
- 为什么选择 g++ 给予者:"error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast]"
- static_cast int to reference to int?
- 访问基类型数组成员(Int-to-type习惯用法)
- Int to Base 2 & 8 优化
- ASCII to int to ASCII (ATMEGA 2560)
- 简单的 int 到字符串转换..int to const char* 无效
- visual Int to char c++
- 隐式转换更改符号性 'int " to 'unsigned int"
- 如何修复此错误错误"error C2440: '=' : cannot convert from 'int (*)[]' to 'int *' "?
- int to char C++ help me
- Int to PCSTR for Winsock DEFAULT_PORT
- 将 double 分配给 const int&vs int to const int&
- "cannot Convert vector<int>* to int"是什么意思?
- 如何解决此棉绒警告"Implicit binary conversion from int to unsigned int"
- c++ int to char
- 为什么我会收到"cannot convert from Dequeu<int> to int"错误?
- "error: invalid conversion from 'int*' to 'int' function"
- "Truncation from int to char"不产生任何结果
- Cast int to void* and void* to int for TMemoryStream->WriteBuffer (C++Builder XE7)
- C++ Int to Array without Libs