I'm struggling with the following code. Basically, I have a class Foo and nested class Bar, and now I want to pass a pointer of class Bar object to a function, but it doesn't compile. Could anyone help me with this? Thank you.
template <typename T>
struct Foo
{
struct Bar
{
T data_;
};
Bar bar_;
};
template <typename T>
void func(Foo<T>::Bar* bar) // Why is this line wrong???
{
}
int main()
{
Foo<int> foo;
foo.bar_.data_ = 17;
func(&foo.bar_);
return 0;
}