R6010:我可以将 int& 传递给接受 int 的函数吗?

R6010: Can I pass an int& to a function that accepts an int?

本文关键字:int 函数 我可以 R6010      更新时间:2023-10-16

我有一个函数声明了

之类的内容
void func1(int& x) {
    func2(x); // func2 accepts an int
}

我认为这是该程序崩溃的原因?我得到错误

R6010 - abort() has been called

将X传递到接受INT的函数中我需要做什么?我希望它们能够工作相同...因为我只能使用cout << x

回应X的值

update

只是一个测试:

cout << stmtNo << endl;
Node* n = ast->getNode(stmtNo);
cout << n->getNodeType() << " " << n->getStmtNo() << endl;

上面的失败...以下

cout << stmtNo << endl;
Node* n = ast->getNode(1);
cout << n->getNodeType() << " " << n->getStmtNo() << endl;

没有问题,您总是可以将整数引用作为整数的参数。

整数参考可以解释为自动退引用本身的恒定指针。

#include<iostream>
using namespace std;
void fun_2(int s)
{
   cout<<s<<endl;
}
void func(int &d)
{
    fun_2(d);
}
int main()
{
   int x=99;
   func(x);
   system("pause");
   return 0;
}

上面的代码完美工作!