第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

c++ 關(guān)于string和vector的兩個(gè)錯(cuò)誤

c++ 關(guān)于string和vector的兩個(gè)錯(cuò)誤

C C++
菠蘿1230 2017-06-13 21:00:23
編譯錯(cuò)誤:您提交的代碼無(wú)法完成編譯第22行:12: error: variable length array of non-POD element type 'string' (aka 'basic_string')string a[n];^第87行:19: warning: comparison of integers of different signs: 'long' and 'size_type' (aka 'unsigned long') [-Wsign-compare]for (long i = 0;i<vec1.size();i++){?~^~~~~~~~~~~~第98行:19: warning: comparison of integers of different signs: 'long' and 'size_type' (aka 'unsigned long') [-Wsign-compare]for (long i = 2;i<a.length();i++){?~^~~~~~~~~~~2 warnings and 1 error generated.#include?<iostream> #include?<vector> #include?<string> using?namespace?std; bool?find(vector<string?>?vec1,string?temp,long&index); string?yhq(string?a); int?main(){ long??index?=?0; long??n; long?sum?=?0; ????long?wenhao; ????long?i; ????int?flag?=?0; vector<string>?vec1; string?temp;bool?is; ?while?(cin>>n){ ? vec1.clear(); ? wenhao?=?0; ? string?a[n]; ? for?(i?=?0;i<n;i++){ ? a[i]?=?""; ? } ? cin.ignore(); ? ????if?(n==?0){ ???? cout<<-1<<endl; ???? sum++; ???? continue; ????} ? for?(i?=?0;i<n;i++){ ? getline(cin,a[i]); ? } ? for?(i?=?0;i<n;i++){ ? if(a[i][0]?==?'I'){ ? ?temp?=?yhq(a[i]); ? ?is?=?find(vec1,temp,index); ? ?if?(is?==?true){ ? ? if?(wenhao>0){ ? ? wenhao--; ? ? }else?{ ? ? flag?=?1; ? ? break; ? ? } ? ? ? ?}else?{ ? ?????vec1.push_back(temp); ? ?} ? }else?if?(a[i][0]?==?'O'){ ? temp?=?yhq(a[i]); ? is?=?find(vec1,temp,index); ? if?(is?==?false){ ? if?(wenhao>0){ ? wenhao--; ? }else?{ ? flag?=?1; ?break; ? ? } ? ? ? ?}else?{ ? ? vec1.erase(vec1.begin()+index); ? ?} ? }else?if?(a[i][0]?==?'?'){ ? wenhao++; ? ? } ? ? } ? ? if?(flag?==?0){ ? cout<<-1<<endl; ? sum++; ? } ? else?{ ? cout<<sum<<endl; ? flag?=?0; ? sum?=?0; ? } ???? ? ?} return?0; }? bool?find(vector<string>?vec1,string??temp,long&index){ for?(long?i?=?0;i<vec1.size();i++){ if?(vec1[i]==temp){ index?=?i; return?true; } } return?false; } string?yhq(string?a){ string?temp?=?""; for?(long?i?=?2;i<a.length();i++){ temp.push_back(a[i]); } return?temp; }
查看完整描述

1 回答

已采納
?
onemoo

TA貢獻(xiàn)883條經(jīng)驗(yàn) 獲得超454個(gè)贊

第 22 行處是錯(cuò)誤,不過(guò)跟 string 沒(méi)有關(guān)系。

string a[n] ?這里你定義的 a 是數(shù)組,但是數(shù)組在定義時(shí)提供的數(shù)組大小必須是整型常量,不能用變量 n。

如果你想要一個(gè)元素是 string 、類似于數(shù)組的結(jié)構(gòu)的話,就用 vector 好了: std::vector<std::string> a



第 87 和 98 行不是編譯錯(cuò)誤,只是警告。警告發(fā)生在?i<vec1.size() 這一句。

vector 的 size() 返回的是 size_type 類型(就是一個(gè)足夠大的無(wú)符號(hào)整型類型),而你這里用 long 型的 i 去比較,long 是有符號(hào)整型,所以報(bào)了類型不匹配警告。

一般數(shù)值不大的話,這樣的比較也不會(huì)出錯(cuò),所以你可以忽略這個(gè)警告。 不過(guò)為了嚴(yán)謹(jǐn),你應(yīng)該將 i 聲明為 vector<string>::size_type 類型 或者是 std::size_t 類型(這也是個(gè)常用的大整型)。

查看完整回答
反對(duì) 回復(fù) 2017-06-13
  • 1 回答
  • 0 關(guān)注
  • 3894 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)