C++0x name clash: invalid_argument
Benjamin Kosnik
benjamin.kosnik@gmail.com
Mon Sep 24 16:11: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&) {
> }
> }
Bummer. You should try to get Beeman to add this as a new issue to the
list of mess-ups in <system_error>.
-benjamin
More information about the Libstdc++
mailing list