作者luckychild (兌現承諾)
看板C_and_CPP
標題[問題]跟指標與vector有關的問題
時間Mon Apr 20 09:42:43 2009
#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
2F:推 QQ29:你要利用a來印東西 要寫成 cout<<(*a)[第幾個] 04/20 11:13
3F:→ QQ29:這感覺就跟 一個**ptr指向 &p ; p是一個 *p; 的感覺 04/20 11:14
4F:→ windincloud:樓上的~ 原po應該是想印出vector內所有東西~ 所以正解 04/20 14:55
5F:→ windincloud:在樓下~ :p 04/20 14:55
6F:推 QQ29:感覺要是印東西怎不用iterator印呢? 04/20 15:02
7F:→ luckychild:其實我主要想釐清程式概念啦.想明白 04/20 15:05
8F:→ luckychild:cout << *d << endl;跟 cout << *a << endl;的差別 04/20 15:07
9F:推 littleshan:d 是 pointer to double,所以 *d 是 double 04/20 16:51
10F:→ littleshan:a 是 pointer to vector<double>,*a 是 vector<double> 04/20 16:52
11F:→ littleshan:vector<double> 提供陣列操作,但本身是個 class 04/20 16:53