overload

dark777 jeanzonta777 at yahoo.com.br
Fri Dec 15 17:45:59 UTC 2017


On Friday, 15 December 2017 at 08:57:23 UTC, Biotronic wrote:
> On Thursday, 14 December 2017 at 22:47:15 UTC, dark777 wrote:
>> I know that this community is not from c ++, but for some time 
>> I studied how to do overload of ostream operators in c ++ and 
>> I even managed to get to this result, I got to this result in 
>> another post done here but I did not understand the that it 
>> returns this error below:
>>
>>
>> bin2.cxx:44:43: error: expected ‘,’ or ‘...’ before ‘(’ token
>>    std::ostream& operator<<(std::ios_base& (__cdecl 
>> *_Pfn)(std::ios_base&))
>>                                            ^
>> bin2.cxx: In member function ‘std::ostream& 
>> BinStream::operator<<(std::ios_base&)’:
>> bin2.cxx:46:16: error: ‘_Pfn’ was not declared in this scope
>>     return os <<_Pfn;
>
> I expect it's confused by __cdecl. I just copied the function 
> declaration from VS' iostreams, so it might be tainted by how 
> VS does things. Removing __cdecl might work, or just add
> #define __cdecl __attribute__((__cdecl__))
> A third option is to replace `std::ios_base& (__cdecl 
> *Pfn)(std::ios_base&)` with `decltype(std::hex)& Pfn`.
>
> All of this said, I'd suggest finding a C++ forum to get 
> answers to these questions. While I'm happy to help, it's not 
> really the place for these discussions.
>
> --
>   Biotronic

I do not use windows I thought it was the standard of iostream 
ansi c++


More information about the Digitalmars-d-learn mailing list