I don't need this functionality, but I wanted to be sure.
Does function overloading not work with nested functions? I got a compiler error (something like "function already defined") when I tried it.
Thread overview | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
|
June 17, 2022 nested function overloading | ||||
---|---|---|---|---|
| ||||
I don't need this functionality, but I wanted to be sure. Does function overloading not work with nested functions? I got a compiler error (something like "function already defined") when I tried it. |
June 17, 2022 Re: nested function overloading | ||||
---|---|---|---|---|
| ||||
Posted in reply to Chris Katko | On Friday, 17 June 2022 at 12:09:33 UTC, Chris Katko wrote: >I don't need this functionality, but I wanted to be sure. Does function overloading not work with nested functions? I got a compiler error (something like "function already defined") when I tried it. According to the spec then nested functions cannot be overloaded: "Nested functions cannot be overloaded." See: 19.17.1.3 |
June 17, 2022 Re: nested function overloading | ||||
---|---|---|---|---|
| ||||
Posted in reply to bauss | On Friday, 17 June 2022 at 12:19:33 UTC, bauss wrote: >On Friday, 17 June 2022 at 12:09:33 UTC, Chris Katko wrote: >I don't need this functionality, but I wanted to be sure. Does function overloading not work with nested functions? I got a compiler error (something like "function already defined") when I tried it. According to the spec then nested functions cannot be overloaded: "Nested functions cannot be overloaded." See: 19.17.1.3 Thanks! re: documentation. That is one-line tiny footnote in a page that's over 85 pages long on my browser. :) I could easily see many people missing it until they encounter it. |
June 17, 2022 Re: nested function overloading | ||||
---|---|---|---|---|
| ||||
Posted in reply to Chris Katko | On Friday, 17 June 2022 at 13:04:47 UTC, Chris Katko wrote: >On Friday, 17 June 2022 at 12:19:33 UTC, bauss wrote: >On Friday, 17 June 2022 at 12:09:33 UTC, Chris Katko wrote: >I don't need this functionality, but I wanted to be sure. Does function overloading not work with nested functions? I got a compiler error (something like "function already defined") when I tried it. According to the spec then nested functions cannot be overloaded: "Nested functions cannot be overloaded." See: 19.17.1.3 Thanks! re: documentation. That is one-line tiny footnote in a page that's over 85 pages long on my browser. :) I could easily see many people missing it until they encounter it. I agree, I didn't know about it either and only found out because I decided to search on the page for functions under nested functions. |
June 20, 2022 Re: nested function overloading | ||||
---|---|---|---|---|
| ||||
Posted in reply to Chris Katko | On 6/17/22 8:09 AM, Chris Katko wrote: >I don't need this functionality, but I wanted to be sure. Does function overloading not work with nested functions? I got a compiler error (something like "function already defined") when I tried it. Correct, it's not allowed. However, you can define a function template to get effectively overloading based on parameter type. And you can also use an inner struct to define overloaded functions. -Steve |
June 22, 2022 Re: nested function overloading | ||||
---|---|---|---|---|
| ||||
Posted in reply to Steven Schveighoffer | On Monday, 20 June 2022 at 13:20:51 UTC, Steven Schveighoffer wrote: >And you can also use an inner struct to define overloaded functions. I believe templates make a better bandaid
|
June 22, 2022 Re: nested function overloading | ||||
---|---|---|---|---|
| ||||
Posted in reply to monkyyy | On 6/22/22 2:05 AM, monkyyy wrote: >On Monday, 20 June 2022 at 13:20:51 UTC, Steven Schveighoffer wrote: >And you can also use an inner struct to define overloaded functions. I believe templates make a better bandaid
Wow, I never thought of that, it's a great idea! You don't even need to use the alias.
-Steve |
June 24, 2022 Re: nested function overloading | ||||
---|---|---|---|---|
| ||||
Posted in reply to Steven Schveighoffer | On Wednesday, 22 June 2022 at 12:42:48 UTC, Steven Schveighoffer wrote: >On 6/22/22 2:05 AM, monkyyy wrote: >On Monday, 20 June 2022 at 13:20:51 UTC, Steven Schveighoffer wrote: >And you can also use an inner struct to define overloaded functions. I believe templates make a better bandaid
Wow, I never thought of that, it's a great idea! You don't even need to use the alias.
-Steve Wow! That's great! Another trick to add to my toolbox. |