int64_t with 6.1 C++?

I’ve been using int64_t with 6.0. Now with 6.1 I get errors. Is it supposed
to work?

#include <inttypes.h>
#include <iostream.h>

main()
{
int64_t x;
x = 3;
cout << "x = " << x << endl;
}

cc -lang-c++ 64.cpp

64.cpp: In function int main()': 64.cpp:8: ambiguous overload for std::basic_ostream<char,std::char_traits > & << int64_t &’
/usr/include/ostream:108: candidates are: class
std::basic_ostream<char,std::char_traits > &
std::basic_ostream<char,std::char_traits >::operator <<(bool)
/usr/include/ostream:127: class
std::basic_ostream<char,std::char_traits > &
std::basic_ostream<char,std::char_traits >::operator <<(short int)
/usr/include/ostream:151: class
std::basic_ostream<char,std::char_traits > &
std::basic_ostream<char,std::char_traits >::operator <<(short unsigned
int)
/usr/include/ostream:170: class
std::basic_ostream<char,std::char_traits > &
std::basic_ostream<char,std::char_traits >::operator <<(int)
/usr/include/ostream:194: class
std::basic_ostream<char,std::char_traits > &
std::basic_ostream<char,std::char_traits >::operator <<(unsigned int)
/usr/include/ostream:213: class
std::basic_ostream<char,std::char_traits > &
std::basic_ostream<char,std::char_traits >::operator <<(long int)
/usr/include/ostream:232: class
std::basic_ostream<char,std::char_traits > &
std::basic_ostream<char,std::char_traits >::operator <<(long unsigned
int)
/usr/include/ostream:291: class
std::basic_ostream<char,std::char_traits > &
std::basic_ostream<char,std::char_traits >::operator <<(float)
/usr/include/ostream:310: class
std::basic_ostream<char,std::char_traits > &
std::basic_ostream<char,std::char_traits >::operator <<(double)
/usr/include/ostream:329: class
std::basic_ostream<char,std::char_traits > &
std::basic_ostream<char,std::char_traits >::operator <<(long double)
/usr/include/ostream:517: class
std::basic_ostream<char,std::char_traits > & std::operator <<<char,
std::char_traits >(std::basic_ostream<char,std::char_traits > &,
char)
/usr/include/ostream:598: class
std::basic_ostream<char,std::char_traits > & std::operator
<<<std::char_traits >(std::basic_ostream<char,std::char_traits >
&, char)
/usr/include/ostream:721: class
std::basic_ostream<char,std::char_traits > & std::operator
<<<std::char_traits >(std::basic_ostream<char,std::char_traits >
&, signed char)
/usr/include/ostream:733: class
std::basic_ostream<char,std::char_traits > & std::operator
<<<std::char_traits >(std::basic_ostream<char,std::char_traits >
&, unsigned char)
cc: /usr/lib/gcc-lib/ntox86/2.95.2/cc1plus error 33

Thanks
Marty

Looks like there isn’t an operator that can handle this type. If you cast
x to a long int it works but is probably not what you want. If you put

#define _LONGLONG int64_t
#define _ULONGLONG uint64_t

in front of your includes, then this works… The header has
logic in it for 64 bit ints but for some reason, _LONGLONG isn’t being defined.
I have a feeling that something is missing in our headers somewhere. I’ll
look into it.

cheers,

Kris

Marty Doane <mdoane@i2k.com> wrote:

I’ve been using int64_t with 6.0. Now with 6.1 I get errors. Is it supposed
to work?

#include <inttypes.h
#include <iostream.h

main()
{
int64_t x;
x = 3;
cout << "x = " << x << endl;
}

cc -lang-c++ 64.cpp

64.cpp: In function int main()': 64.cpp:8: ambiguous overload for std::basic_ostream<char,std::char_traits > & << int64_t &’
/usr/include/ostream:108: candidates are: class
std::basic_ostream<char,std::char_traits > &
std::basic_ostream<char,std::char_traits >::operator <<(bool)
/usr/include/ostream:127: class
std::basic_ostream<char,std::char_traits > &
std::basic_ostream<char,std::char_traits >::operator <<(short int)
/usr/include/ostream:151: class
std::basic_ostream<char,std::char_traits > &
std::basic_ostream<char,std::char_traits >::operator <<(short unsigned
int)
/usr/include/ostream:170: class
std::basic_ostream<char,std::char_traits > &
std::basic_ostream<char,std::char_traits >::operator <<(int)
/usr/include/ostream:194: class
std::basic_ostream<char,std::char_traits > &
std::basic_ostream<char,std::char_traits >::operator <<(unsigned int)
/usr/include/ostream:213: class
std::basic_ostream<char,std::char_traits > &
std::basic_ostream<char,std::char_traits >::operator <<(long int)
/usr/include/ostream:232: class
std::basic_ostream<char,std::char_traits > &
std::basic_ostream<char,std::char_traits >::operator <<(long unsigned
int)
/usr/include/ostream:291: class
std::basic_ostream<char,std::char_traits > &
std::basic_ostream<char,std::char_traits >::operator <<(float)
/usr/include/ostream:310: class
std::basic_ostream<char,std::char_traits > &
std::basic_ostream<char,std::char_traits >::operator <<(double)
/usr/include/ostream:329: class
std::basic_ostream<char,std::char_traits > &
std::basic_ostream<char,std::char_traits >::operator <<(long double)
/usr/include/ostream:517: class
std::basic_ostream<char,std::char_traits > & std::operator <<<char,
std::char_traits >(std::basic_ostream<char,std::char_traits > &,
char)
/usr/include/ostream:598: class
std::basic_ostream<char,std::char_traits > & std::operator
std::char_traits >(std::basic_ostream<char,std::char_traits<char
&, char)
/usr/include/ostream:721: class
std::basic_ostream<char,std::char_traits > & std::operator
std::char_traits >(std::basic_ostream<char,std::char_traits<char
&, signed char)
/usr/include/ostream:733: class
std::basic_ostream<char,std::char_traits > & std::operator
std::char_traits >(std::basic_ostream<char,std::char_traits<char
&, unsigned char)
cc: /usr/lib/gcc-lib/ntox86/2.95.2/cc1plus error 33

Thanks
Marty


Kris Warkentin
kewarken@qnx.com
(613)591-0836 x9368
“You’re bound to be unhappy if you optimize everything” - Donald Knuth