C 引數引用和const標誌引起的編譯錯誤

2021-09-30 17:20:05 字數 691 閱讀 9742

c++中在引數

// const_error.cpp : 定義控制台應用程式的入口點。

//#include "stdafx.h"

#include

#include

using namespace std;

using std::string;

string::size_type  find_char(string &s,char c)

{string::size_type i=0;

while(i

int _tmain(int argc, _tchar* ar**)

{//string in="hello world";

string::size_type re=find_char("hello world",'o');

cout《以上**中 find_char第乙個引數使用了string引用,導致main在使用字串實參時,無法將字串字面值轉換為引用,會導致編譯錯誤。需要先將字串字面值複製給乙個string變數,方可使用。

如將in定義const string則會報錯error c2664: 「find_char」: 不能將引數 1 從「const std::string」轉換為「std::string &」

如將形參修改為sting s,則不會報告以上問題。

臨時變數 引用引數和const

好久沒更了,紀念我的日語n5上冊書學成,更一篇博文。甚是開心!在現代c 中,僅當引數為const引用時,如果實參與引用引數不匹配,c 將生成臨時變數。詳細說來生成臨時變數有兩種情況 實參的型別正確,但不是左值實參的型別不正確,但可以轉換為正確的型別 ps1.左值引數是可被引用的資料物件,例如變數 陣...

引用 const引用和非const引用

引用構造了物件的乙個同義詞,是c 物件的另乙個名字。在實際程式中,引用的主要作用是作函式的形參。引用是一種復合型別1,它通過在變數名前新增 來定義。在使用引用的情況下,每一種引用型別都關聯到某一其他型別。c 不能定義引用型別的引用,但是可以定義任何其他型別的引用。int a 100 int refa...

C 引用 const 引用

通過引用修改它指向變數的值 也就是說 通過修改 b 達到修改 a 的目的,也可以修改a int a 5 int b a b 40 int c b 此時a b c 40 例項1 宣告 double getarea int num 呼叫 double area this getarea 30 1 將30...