I have something similar to this,
class Image {
template <typename T> using iterator = ImageIteratorBase<Image, T>;
};
template <typename ImageType>
class Filter {
template <typename PixelType> apply();
};
In my Filter::apply()
function, I need to do this:
template <typename ImageType>
template <typename PixelType>
void Filter<ImageType>::apply() {
using IteratorType = typename ImageType::iterator<PixelType>;
}
But this does not work and yields the error
error: expected ‘;’ before ‘<’ token
What is wrong in here? Thanks in advance