La práctica recomendada es utilizar un iterador como un parámetro
1 #include <iostream> 2 #include < nuevo > 3 #include <bitset> 4 #include < string > 5 #include <stdexcept> 6 #include <vector> 7 8 9 usando espacio de nombres std; 10 11 12 vacío de impresión (vector < doble > :: iterador iter_begin, vector < doble > :: iterador iter_end) 13 { 14 mientras (iter_begin! = Iter_end) 15 { 16 tribunal << * iter_begin << endl; 17 * iter_begin ++ ; 18 } 19 } 20 21 doble print_sum (vector < doble > :: iterador iter_begin, vector < doble > :: iterador iter_end) 22 { 23 doble suma = 0,0 ; 24 , mientras que (iter_begin =! Iter_end) 25 { 26 suma + = * iter_begin; 27 * iter_begin ++ ; 28 } 29 de retorno suma; 30 } 31 es 32 int main () 33 es { 34 es Vector < Double > V; 35 COUT << " introducir datos: " << endl; 36 Doble Val; 37 [ el tiempo (CIN >> Val) 38 es { 39 v.push_back ( Val); 40 } 41 es cout << " datos de entrada: " << endl; 42 es de impresión (v.begin (), V.END ()); 43 es cOUT << " vector y es: "<< endl; 44 es doble SUM = print_sum (v.begin (), V.END ()); 45 COUT SUM << << endl; 46 es el retorno 0 ; 47 // Precomisionado 48 #ifdef NDEBUG es 49 COUT < < "" << endl; 50 #endif // NDEBUG es 51 se }