c++中可不可以在一个类的定义当中定义一个友元函数?

注意是定义而非声明。如果可以的话,这个函数在哪里可以使用呢?
举例:

class TV_Drama
{
public:
    char name[100];
    int actor;
    int story;
    int acting_skill;
    // 在此处补充你的代码
    TV_Drama(string _name, int _actor, int _story, int _acting_skill) :
    actor(_actor),story(_story),acting_skill(_acting_skill){}
    
    friend void Printer(TV_Drama &obj)
    {
        cout << obj.name << ';';
    }
};

上述代码中定义的Printer函数可以在外部正常使用吗?
P.S.我我后来的main函数中出现了for_each(lst.begin(), lst.end(), Printer);编译器告诉我未定义标识符 "Printer"。