参数中的c ++ const

时间:2016-06-23 22:08:30

标签: c++ c++11

为什么这段代码在编译时显示错误?

to setup
   clear-all
   ask patch 5 -5 [
       set pcolor red
       ]    
 end

 to go 
   let red-patch patches with [ pcolor = red ]

 end 

但是通过将参数更改为const,它可以正确编译

#include <iostream>

using namespace std;

void foo(int& x){
   // cout<<x;
}

int main(){
    //int x=3;
    foo(3);
    return 0;
}

但我仍然传递一个整数,那么如何通过在参数中添加const来编译?

1 个答案:

答案 0 :(得分:2)

int& x可以更改,因此无法像{3}那样引用const int

const int& x无法更改且类型与const int完全匹配,例如3,那么为什么您希望它失败?