#include <list>
using std::list;
class foo { ...
class bar : public foo { ...
static void print_all(list<foo*> &L) { ...
list<foo*> LF;
list<bar*> LB;
...
print_all(LF); // works fine
print_all(LB); // static semantic error
我想我知道为什么编译器不允许第二次调用。如果编译器接受这种调用,任何人都可以举一个可能发生的坏事的例子吗?