非const引用不能绑定非左值(no-lvalue)

原创 2007年09月11日 19:49:00
对于一个const T&的初始式不必是一个左值,甚至可以不是类型T,但是非const引用不能绑定非左值(no-lvalue)
非const引用
double &dr =1;      //错误:要求左值
const引用
const double &dr=1;        //OK
对于const引用的解释:
double temp=double(1);    //首先建立一个具有正确值的临时变量
const double &dr=temp;   //而后用这个临时变量作为dr的初始式
例如:
#include <iostream>
#include <string>
using namespace  std;

void TestFuncOne(const string & str)
{
    cout<<str<<endl;
    return;
}

void TestFuncTwo(string & str)
{
    cout<<str<<endl;
    return;
}

int main()
{
    TestFuncOne("Hello World!");  //正确
   
    TestFuncTwo("Hello World!");  //错误  非const引用不能绑定非左值(no-lvalue)
   
    return 0;
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

由重建二叉树算法题到临时对象不能绑定到非 const 的左值引用

前言最近再刷剑指offer,在将一个临时变量传给一个引用的时候,出现了non-const lvalue reference to type 'vector' cannot bind to a temp...

C++11的右值引用(一)——左值(lvalue),纯右值(prvalue)和将亡值(xvalue)

基本概念C++11之前只有左值和右值的概念:lvalue,rvalue。左值可以取地址,右值不能取地址。 但是C++11之后又划分的更加详细了,分为左值(lvalue),纯右值(prvalue)还有...

lvalue和rvalue、传值和传引用、木桶

摘自:http://www.cnblogs.com/linyawen/archive/2011/12/07/2279936.html http://gideshi.blog.163.com/bl...

[C/C++不常见语法特性]_[初级]_[左值-右值-lvalue-rvalue]

场景: 1. C++11 引入了std::move,它可以高效率的从一个左值资源移动到另一个左值资源里, 这个过程不需要再创建新的资源. 这对std::string,std::vector这种标...

嵌入式面试题总结【static,const。lvalue and 如rvalue】 继续整理

static 用法: for C language: 1.表示存储属性: 存储于静态变量区,static int a; 由于存储于静态变量区,导...

已解决:函数重载 原因:临时变量不能作为非const的引用参数传递

#include using namespace std; double sum(double a,double b) { cout<<"double"<<endl; return a+b; }...

[Effective C++]条款30: 避免这样的成员函数:其返回值是指向成员的非const指针或引用,但成员的访问级比这个函数要低

条款30: 避免这样的成员函数:其返回值是指向成员的非const指针或引用,但成员的访问级比这个函数要低 使一个成员为private或protected的原因是想限制对它的访问,对吗?劳累的编译...

[第二节]C++ 引用 函数调用作为左值 用const限定引用 返回堆中变量的引用

函数调用作为左值   在上节中,对于第三种情况,也意味着返回一个引用使得一个函数调用表达式成为左值表达式。只要避免将局部栈中变量的地址返回,就能使函数调用表达式作为左值来使用运行得很好。   例如...

报错No mapping found for HTTP request with URI、实现蒙纱,弹出对话框利用load 、编码问题、 jQ的data绑定数据等等遇到的问题

写完报错No mapping found for HTTP request with URI等等项目中遇到的问题记录下

Vue.js学习笔记:v-no绑定事件

v-on 指令用于监听DOM事件 形式如:v-on:click  缩写为 @click (一).监听DOM事件 以用 v-on 指令监听 DOM 事件来触发一些 JavaScrip...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)