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