お勧めは、パラメータとして、イテレータを使用することです
1の#include <iostreamの> 2の#include < 新規 > 3の#include <ビットセット> 4の#include < ストリング > 5の#include <stdexcept提供> 6の#include <ベクトル> 7 8 9 使用して 名前空間STDを、 10 11 12 ボイド プリント(ベクトル< ダブル > ::イテレータiter_begin、ベクトル< ダブル > ::イテレータiter_end) 13 { 14 ながら(iter_begin!= iter_end) 15 { 16 coutの<< * iter_begin << てendl; 17 * iter_begin ++ ; 18 } 19 } 20 21 二重 print_sum(ベクトル< ダブル > ::イテレータiter_begin、ベクトル< ダブル > ::イテレータiter_end) 22 { 23 二重和= 0.0 。 24 一方(iter_begin =!iter_end) 25 { 26 和+ = * iter_begin。 27 * iter_begin ++ ; 28 } 29 リターン和。 30 } 31である 32 のint main()の 33は 、{ 34である ベクトル< ダブル > V; 35 COUT << " のデータを入力します" << ENDL、 36 ダブルのVal、 37 ながら(CIN >> ヴァル) 38である { 39 (v.push_backヴァル); 40 } 41は COUT << " 入力データ:" << ENDL; 42は、 プリント(v.begin()、v.end()); 43れる COUT << " ベクトルとされます。"<< ENDL; 44である ダブル SUM = print_sum(v.begin()、v.end()); 45 COUT SUM << << ENDLは、 46であり 、リターン 0 ; 47 // コミッショニング事前 48 NDEBUGの#ifdefは 49 COUT < < "" << ENDL; 50 #endifの // NDEBUGが 51れています }