Hacker News new | past | comments | ask | show | jobs | submit login

> Is an error in C, but surprisingly C++ is less strict here, not only allowing it but also taking the semantics of the definition. (Spooky)

Aren't these just declaring one overload of foo and defining a different overload?

Yeah, it's an overload as others have replied. The difference between C and C++ here, is that you should get a linker error if you try and invoke the undefined overload in C++ (C doesn't allow overloading, nor does it require a forward declaration).

This is how we "deleted" functions, especially otherwise auto generated ones such as a default or copy constructor and assignment operator pre C++11.

Yeah, there's nothing spooky there. C++ supports overloads and C doesn't.

Ah! That's it, thanks! edited the article

Came here to say something that I suspect operator overloadíng. I read your comment, pressed refresh, and it was already fixed.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact