March 28, 2024, 12:30:21 PM

News : LinuxSolved.com Linux Help Community Forum..


Author Topic: No matching Call Error  (Read 4833 times)

Offline a_mlt1

  • New Member
  • Posts: 3
No matching Call Error
« on: June 22, 2004, 09:30:58 AM »
Hi

Following code is giving compilation error in g++.

Code: [Select]
#include<iostream>
#include<vector>
using namespace std;

template<typename T>
struct subvector_traits
{
typedef T* iterator;
};


template<typename T>
class subvector
{

public:
typedef typename subvector_traits<T>::iterator iterator;
void initialize(iterator start,iterator end)
{
m_pstart=start;
m_pend=end;

}
private:
iterator m_pstart;
iterator m_pend;
};


int main()
{
subvector<unsigned int> cells;
static vector<unsigned int> m_nMembercells; cells.initialize(m_nMembercells.begin(),m_nMembercells.begin());
return 0;
}


Quote
Error Message:- >

no matching function for call to `subvector<unsigned int>:: initialize(__gnu_cxx::__normal_iterator<unsigned int*, std::vector<unsigned int, std::allocator<unsigned int> > >, __gnu_cxx::__normal_iterator<unsigned
int*, std::vector<unsigned int, std::allocator<unsigned int> > > )'
initialize.cpp:20: candidates are: void subvector<T>::initialize(subvector_traits<T>::iterator,
subvector_traits<T>::iterator) [with T = unsigned int]
initialize.cpp:37:2: warning: no newline at end of file

If anyone has some idea then please help
Thank you! in advance