none
Проблема с использование шаблонов C++ RRS feed

  • Вопрос

  • есть небольшая шаблонная функция для вывода содержимого вектора

    template<class TElem>
    void vector_debug(const vector<TElem>& v) {
    	vector<TElem>::const_iterator it;
    	cout << "{";
    	bool printwh = false;
    	for (it = v.begin(); it != v.end(); it++) {
    		if (printwh)
    			cout << ", ";
    		cout << *it;
    		printwh = true;
    	}
    	cout << "}" << endl;
    }
    

    Эта функция дает сообщения об ошибке. Хотелось бы понять в чем суть ошибки и что надо исправить.

    30 октября 2011 г. 16:06

Ответы

  • Здравствуйте.

    Какую ошибку вы получаете? Проверил у себя - работает без ошибок, информацию о векторе выводит:

    // 123.cpp : Defines the entry point for the console application.
    //
    
    #include "stdafx.h"
    
    #include <iostream>
    #include <vector>
    
    using namespace std;
    
    template<class TElem>
    void vector_debug(const vector<TElem>& v) {
    	vector<TElem>::const_iterator it;
    	cout << "{";
    	bool printwh = false;
    	for (it = v.begin(); it != v.end(); it++) {
    		if (printwh)
    			cout << ", ";
    		cout << *it;
    		printwh = true;
    	}
    	cout << "}" << endl;
    }
    
    
    int _tmain(int argc, _TCHAR* argv[])
    {
    	vector<int> v;
    	v.push_back(3);
    	v.push_back(6);
    	v.push_back(2);
    
    	vector_debug<int>(v);
    
    	return 0;
    }
    
    
    

    Выводит: {3, 6, 2}


    Для связи [mail]
    • Помечено в качестве ответа Abolmasov Dmitry 11 ноября 2011 г. 5:48
    2 ноября 2011 г. 6:49