[问题] structure vector没有办法在function使用

楼主: bjiyxo (若自礌)   2015-03-29 16:45:21
开发平台(Platform): (Ex: VC++, GCC, Linux, ...)
VC++
问题(Question):
structure vector没有办法在function里call structure的元素
我要做的事情类似这样
struct stu
{
int eng;
};
void change(vector<stu> *stulist, int length)
{
if (stulist[0].eng == stulist[1].eng)//这行有问题编译不过
//do something
}
如果要修正的话请问各位大大会怎么样修正呢?
错误结果(Wrong Output):
error C2039: 'eng' : 不是 'std::vector<stu,std::allocator<_Ty>>' 的成员
烦请各位大大帮忙解惑!
作者: bibo9901 (function(){})()   2015-03-29 16:52:00
传 reference => vector<stu> & stulist
楼主: bjiyxo (若自礌)   2015-03-29 17:01:00
感谢楼上的回答,这也是个一劳永逸的方法!不过有不用call by reference的办法吗?
作者: dirkc (3781615)   2015-03-29 17:12:00
stulist[0]和stulist[0][0]的差异能分得出来,这题就解了
楼主: bjiyxo (若自礌)   2015-03-29 17:26:00
楼上我不是很明白,因为我change这个function里面会对stulist里面的元素做修改,且stulist是一个一维阵列,所以我原先的想法传入一个vector指标应该没有错吧?楼上大大好像认为我传的是二维阵列?还是我有东西没搞懂?
作者: LPH66 (-6.2598534e+18f)   2015-03-29 17:39:00
四楼应该是想说“stulist[0] 跟 (*stulist)[0] 的差别”
作者: dirkc (3781615)   2015-03-29 17:43:00
"vector"可以用做一维阵列,但"vector指标"并不是
楼主: bjiyxo (若自礌)   2015-03-29 18:01:00
原来如此!我大概明白了!感谢楼上各位大大!
作者: Killercat (杀人猫™)   2015-03-29 18:31:00
唉,阵列指标隐性转换害人不浅其实你写成stulist->at(0).eng就会对了不过既然都用c++了 用by reference吧
作者: CumCumCum (2 hard 2 hard)   2015-04-02 22:36:00
指标不是用箭头吗

Links booklink

Contact Us: admin [ a t ] ucptt.com