C++0x name clash: invalid_argument
Douglas Gregor
doug.gregor@gmail.com
Sun Sep 23 07:17:00 GMT 2007
When we're in C++0x mode, there are now two different definitions of the
name "invalid_argument" in namespace std. The first one is the exception
class, which comes from <stdexcept>. The second is an enumerator that
comes from <system_error> (for EINVAL). This causes compilation failures
in the following program to fail under C++0x mode (and is killing my
nightly regression testing of Boost):
#include <stdexcept>
#include <system_error>
int main()
{
try {
} catch(std::invalid_argument const&) {
}
}
- Doug
More information about the Libstdc++
mailing list