我是否正確地聲明瞭派生類r_iter和c_iter的迭代器? 在派生類中,r_iter是2D矢量的迭代器,c_iter是迭代器到2D矢量中。如何將迭代器聲明爲派生類對象?
我收到以下錯誤,如果有人告訴我在哪裏,我錯了
add_round_key.cpp:26:34: error: expected class-name before ‘{’ token
add_round_key.cpp:27:2: error: ‘dVector’ is not a template
add_round_key.cpp:27:11: error: ‘dVector’ is not a template
add_round_key.cpp:27:28: error: invalid use of ‘::’
add_round_key.cpp: In member function ‘void dVector::RotWord()’:
add_round_key.cpp:37:2: error: ‘r_iter’ was not declared in this scope
add_round_key.cpp:37:17: error: ‘class dVector’ has no member named ‘begin’
add_round_key.cpp:38:2: error: ‘c_iter’ was not declared in this scope
line# 26 class dVector:public std::vector {
line# 27 dVector <dVector <int> >::iterator r_iter;
dVector <int>::iterator c_iter;
public:
void RotWord();
void SubWord();
};
void dVector::RotWord() {
int temp ;
line# 37 r_iter = this->begin();
#38 c_iter = (*r_iter).end();
*(c_iter) = *(c_iter+4);
*(c_iter+4) = *(c_iter+8);
}
void dVector::SubWord(){
//function definition
}
int main (int argc, char *argv[])
{
/*wordArray is a 4x4 word array stored in column-order form*/
dVector <dVector <int> > wordArray(4,dVector<int>(40,0));
dVector <dVector <int> >::iterator ckIter,i ,j, row_iter;
dVector <int>::iterator ii,jj, col_iter;
wordArray.RotWord();
wordArray.Subword();
}
非常感謝。我以同樣的方式處理容器和類。非常感謝您的意見 – 2012-02-16 01:10:40