[問題]跟指標與vector有關的問題

看板C_and_CPP (C/C++)作者 (兌現承諾)時間16年前 (2009/04/20 09:42), 編輯推噓3(308)
留言11則, 4人參與, 最新討論串1/2 (看更多)
#include <iostream> #include <cstdlib> #include <vector> using namespace std; int main() { vector<double> *a; vector<double> b(5,1); double *d; double c[5]={1,2,3,4,5}; a=&b; d=c; cout << *d << endl; cout << *a << endl; //這一行的語法錯在哪呢? system("pause"); return 0; } DEV C++的編譯器訊息為 no match for'operator<<' in 'std::cout << *a' 接下來就是一長串note了,不貼上來了. 謝謝回覆囉! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.120.11.75

04/20 09:43, , 1F

04/20 11:13, , 2F
你要利用a來印東西 要寫成 cout<<(*a)[第幾個]
04/20 11:13, 2F

04/20 11:14, , 3F
這感覺就跟 一個**ptr指向 &p ; p是一個 *p; 的感覺
04/20 11:14, 3F

04/20 14:55, , 4F
樓上的~ 原po應該是想印出vector內所有東西~ 所以正解
04/20 14:55, 4F

04/20 14:55, , 5F
在樓下~ :p
04/20 14:55, 5F

04/20 15:02, , 6F
感覺要是印東西怎不用iterator印呢?
04/20 15:02, 6F

04/20 15:05, , 7F
其實我主要想釐清程式概念啦.想明白
04/20 15:05, 7F

04/20 15:07, , 8F
cout << *d << endl;跟 cout << *a << endl;的差別
04/20 15:07, 8F

04/20 16:51, , 9F
d 是 pointer to double,所以 *d 是 double
04/20 16:51, 9F

04/20 16:52, , 10F
a 是 pointer to vector<double>,*a 是 vector<double>
04/20 16:52, 10F

04/20 16:53, , 11F
vector<double> 提供陣列操作,但本身是個 class
04/20 16:53, 11F
文章代碼(AID): #19wzCKOb (C_and_CPP)
文章代碼(AID): #19wzCKOb (C_and_CPP)