当 c++ 说"int 与 int* 不兼容"时该怎么办?
What to do when c++ say "int is not compatible with int*"?
当一个东西被声明为int*
而不是int
时,我应该使用什么?
-> Function: void addIntOption(char *option, int *var, int min, int max)
-> Usage: addIntOption("TEXT", **???**, 0, 1000);
将指针传递给它,例如:
int var;
addIntOption("TEXT", &var, 0, 1000);
您必须将指针传递给一个整数,而不是整数本身,例如:
int xyzzy = 42;
addIntOption("option", &xyzzy, 0, 100);
&
是运算符的地址,它为您提供了一个指向整数变量xyzzy
的指针(或者,如果您喜欢该术语,则为的地址)。
您应该退后一步,注意错误:函数想要一个指针,您想要传递一个int。这些冲突:您理解错误。解决办法是弄清楚你误解了什么。
正如注释所示,函数可能希望您"给我一个指向您想要修改的int
值的指针"。当您希望函数修改某些内容时,这是C中常见的模式。有时它在C++中甚至很有用,尽管通常你想使用引用来做这类事情。
因此,请检查文档;如果以上是正确的(并且您仍然希望使用该函数),那么您需要获得一个指向您想要修改的值的指针;例如,如果var
指的是对象,那么&var
是指向它的指针。
相关文章:
- 我收到同义重复编译器错误。我应该如何修复"类型"X"的参数与类型"X"的参数不兼容?
- 类型为 "int*" 的参数与 C++ 中错误类型"int**"参数不兼容
- 程序无法编译:将 'int (*)[3][3]' 赋值为 'int [9][3][3]' 中的不兼容类型
- 从数组创建 Mat 时,'cv::Mat' 和 'int' 类型不兼容
- 错误:将"long int (*)[4]"分配给"long int [4][4]"时的类型不兼容
- 操作数类型不兼容("int"和"const char*")
- MKDIR 在 C++ 系统调用中失败 - int 类型的参数与 const char* 类型的参数不兼容
- 错误:在 GEANY 中将"int"赋值为"char [1]"时类型不兼容
- 调用函数时出错:"类型为"int"的参数与类型为"int *"的参数不兼容"
- gcc 的 -Wconversion 是否与使用比 int 短的整数类型的复合赋值(+= 等)不兼容?
- 错误:操作数类型不兼容("int"和"const char*")c++
- C:x86 英特尔内在函数对 _mm_log2_ps() -> 错误的用法:不兼容的类型"int"?
- 数组到数组 -- 将'int*'分配给 'int 错误C++中的不兼容类型
- C - 使用类型为 'int 的表达式初始化'int *'的不兼容指针类型
- 错误:将"int"赋值为"int[2]"时的类型不兼容
- 当 c++ 说"int 与 int* 不兼容"时该怎么办?
- (Dev-c++) 将'int'分配给'char[1]'的不兼容类型
- 不会在将'int*'分配给'int [0]'时编译不兼容的类型
- 类型 "unsigned int *" 的参数与类型 "size_t *" 的参数不兼容
- 类型 'int' 的参数与类型 'char' 的参数不兼容