当c ++说“int与int *不兼容”时该怎么办?

时间:2015-10-30 05:48:31

标签: c++

当事物被声明为int*而不是int时,我应该使用什么?

-> Function: void addIntOption(char *option, int *var, int min, int max)
-> Usage: addIntOption("TEXT", **???**, 0, 1000);

3 个答案:

答案 0 :(得分:1)

将指针传递给它,例如:

int var;
addIntOption("TEXT", &var, 0, 1000);

答案 1 :(得分:0)

您必须将指针传递给整数而不是整数本身,例如:

int xyzzy = 42;
addIntOption("option", &xyzzy, 0, 100);

&是address-of运算符,它为您提供指向(或者,如果您更喜欢该术语的地址)整数变量xyzzy的指针。

答案 2 :(得分:0)

你应该退后一步并注意错误:函数想要一个指针,你要传递一个int。那些是冲突的:你理解错误。解决方法是找出你误解的内容。

正如评论所暗示的那样,函数可能需要的是为了给我一个指向你想要修改的int值的指针"。当您希望函数修改某些内容时,这是C中的常见模式。有时它在C ++中甚至有用,虽然通常你想使用引用来做这类事情。

所以,检查文档;如果以上是正确的(你仍然想使用该函数),那么你需要获得一个指向你想要修改的值的指针;例如如果var引用该对象,则&var是指向它的指针。