我有一个声明类似
的函数void func1(int& x) {
func2(x); // func2 accepts an int
}
我认为这是程序崩溃的原因?我收到了错误
R6010 - abort() has been called
将x传递给接受int的函数需要做什么?我希望他们的工作方式相同......因为我可以使用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;
答案 0 :(得分: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;
}
以上代码完美无缺!