0

我有一个声明类似的函数

void func1(int& x) {
    func2(x); // func2 accepts an int
}

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

R6010 - abort() has been called

我需要做什么才能将 x 传递给接受 int 的函数?我希望它们能同样工作......因为我可以使用回显 x 的值cout << x

更新

只是一个测试:

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;
4

1 回答 1

2

没问题,您始终可以将整数引用作为整数的参数传递。

整数引用可以解释为自动取消引用自身的常量指针。

#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;
}

上面的代码完美运行!

于 2012-11-03T12:46:02.020 回答