I have a class template Foo which has a private data member whose data type is std::vector<T> and a public constructor whose argument is used to resize the vector.
template<typename T>
class Foo
{
private:
std::vector<T> Vector_;
Foo(){}
public:
Foo( const int& size )
{
Vector_.resize(size);
}
};
On the other hand, I have another class Bar which has a private data member of Foo<int>.
class Bar
{
private:
Foo<int> AFoo(3);
public:
Bar(){}
};
Finally, I would like to declare a Bar in the main function.
int main( int argc, char* argv[] )
{
Bar ABar;
return 0;
}
But I got the following error: expected identifier before numeric constant indicated at the character 3 of Foo<int> AFoo(3);.
I am appreciate if anyone knows how to fix this error.