Linux in General > Linux Development & Programming

No matching Call Error

(1/1)

a_mlt1:
Hi

Following code is giving compilation error in g++.


--- Code: ---#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;
}


--- End code ---


--- 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

--- End quote ---

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

Navigation

[0] Message Index

Go to full version