+++ /dev/null
-// Build don't link:
-
-struct
-Foo
-{
-public:
- typedef void* (*copier_fn)(void const*);
- void foo() const;
- void bar(char const*, void const*) const;
-private:
- struct
- Bar
- {
- char const* key;
- void const* item;
- };
-};
-
-void
-Foo::foo() const
-{
- Bar* cp = 0;
- copier_fn copyfn = 0;
-
- bar(cp->key, cp->item);
- bar(cp->key, (copyfn) ? (*copyfn)(cp) : 0);
- bar(cp->key, (copyfn) ? (*copyfn)(0) : 0);
-
- bar(cp->key, (copyfn) ? (*copyfn)(0) : cp->item);
- bar(cp->key, (copyfn) ? (*copyfn)(cp) : cp->item);
-}