作者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