Porting C++-code from Windows to Unix: systemcalls colliding with name of functions
- by marvin2k
Hi
I'm porting some crufty C++ Windows-code to Linux, which uses functions called "open" and "close" inside every class... Very bad style, or? Luckily that wasn't a problem in windows, since their systemcalls are named different.
When I try to call the systemcalls open() or close() I'm getting some compiler error about "no matching function for call for class:open()". I can't rename all our functions named "class::open" and "class::close" in the whole code, and I have to use open() and close() since I'm working with serial ports.
So my question is: How can I tell the compiler, which open I mean? How can I escape or hide the namespace of a class in C++?