C++ 模板对象和基本体

C++ 模板对象和基本体,c++,visual-c++,C++,Visual C++,我有下面的类模板,它将同时接受原语和对象。但是像这样我只能打印原语。如何使用基本体和对象使其正常工作?谢谢 template<class T> class A { private: vector <T> l; public: void print() const { for (int i=0;i<.size()

我有下面的类模板,它将同时接受原语和对象。但是像这样我只能打印原语。如何使用基本体和对象使其正常工作?谢谢

template<class T>

    class A
    {

        private:
            vector <T> l;
        public:

            void print() const
            {
                for (int i=0;i<.size();i++)
                {
                    cout<<l[i]<<endl; //error here
                }

            } 
    };
模板
甲级
{
私人:
向量l;
公众:
void print()常量
{

对于(int i=0;i您可以打印原语的原因是
运算符提供了重载我假设您希望打印一个对象,而不是属于基本数据类型的变量

对于这种情况,您可以查看C++中的运算符重载(更具体地说,重载插入运算符)

有关重载对象的插入运算符的详细信息,可以访问此URL

下面给出了一个关于如何进行的示例

ostream& operator<<(ostream& os, const Datatype& dt) 
{
os << dt.a <<" " << dt.b;
return os;
}
friend ostream& operator<<(ostream& os, const Datatype& dt);

ostream&operator我收到的错误参数太多。我遗漏了什么吗?谢谢你的帮助help@fbdg您在哪里看到错误?这是一个。我在我的对象中编写此代码是为了重载使函数成为类的友元函数。@fbdg您可以编写
运算符
ostream &operator<<(ostream &os) {
    ostr << member1 << ":" << member2;
}
ostream& operator<<(ostream& os, const Datatype& dt) 
{
os << dt.a <<" " << dt.b;
return os;
}
friend ostream& operator<<(ostream& os, const Datatype& dt);