iostream problem with AnsiString
#include <iostream.h>
#include <fstream.h>
class A
{
private
String name;
public
A(){};
A(String name_) name(name_)
{
}
~SityPhoneCode(){};
friend ostream& operator << ( ostream& o, A& a);
friend istream& operator >> ( istream& o, A& a);
};
istream& operator >> ( istream& o, A& a)
{
o >> a.name;
return o;
}
ostream& operator << ( ostream& o, A& a)
{
o << a.name.c_str();
return o;
}
возникает ошибка
[C++ Error] A.hpp(71) E2094 'operator>>' not implemented in type 'istream' for arguments of type 'AnsiString'.
Ладно, как рекомендует Borland вставляю
#define VCL_IOSTREAM
#include <vcl.h>
И получаю ошибку
[C++ Error] sysclass.H(413) E2450 Undefined structure 'IDispatch'.
которую уже никак объяснить не могу, кто поможет?
Borland C++ Builder 4 with sp1&2
операторs <<, >> - это С++ и он работает со стандартными типами, а AnsiString - борландовский класс, поэтому вполне естественно, что эти операторы с ним работать не хотят - юзай буфер типа char *
Код:
#define VCL_IOSTREAM