Например, если у меня была структура FooSpec
:
struct FooSpec { /* lots of data */ };
Неправильно ли использовать обе следующие функции в качестве перегруженных функций? Или я должен просто выбрать один и придерживаться его?
Foo *createFoo(const FooSpec *spec) { /* ... */ }
Foo *createFoo(const FooSpec &spec) { return createFoo(&spec); }
Могут ли возникнуть проблемы, вызванные неожиданными проблемами?