私は、AGENDAと呼ばれるファイルから情報を読み込み、構造体型Persona *に配置しようとしています。 。私は "演算子= 'のための一致は、構造体配列に値を代入するときC + +
char arrk [120];
string dato;
arch_g.open("AGENDA.TDAT",ios::in);
//Persona* buffer;
do
{
for (int k=0; k<tamano; k++)
{
arch_g.getline (arrk, 120, '\t');
string dato (arrk);
arreglo->nombre=dato;
arreglo->apellido_p=dato;
arreglo->apellido_m=dato;
arreglo->dom.calle=dato;
int dato1 = (int)arrk;
arreglo->dom.numero=dato1;
arreglo->dom.interior=dato;
arreglo->dom.colonia=dato;
arreglo->dom.ciudad =dato;
arreglo->dom.estado=dato;
dato1 = (int)arrk;
arreglo->dom.codigo_postal=dato1;
arreglo->tel.local=dato;
arreglo->tel.clave_cd=dato;
per[k] = arreglo;
}
}
これはペルソナ
struct Persona
{
bool isInitialized;
std::string nombre;
std::string apellido_p;
std::string apellido_m;
Domicilio dom;
Telefono tel;
Persona() : isInitialized(false) {}
}
struct Domicilio
{
bool isInitialized;
std::string calle;
int numero;
std::string interior;
std::string colonia;
std::string ciudad;
std::string estado;
int codigo_postal;
Domicilio() : isInitialized(false) {}
};
struct Telefono
{
bool isInitialized;
std::string local;
std::string clave_cd;
Telefono() : isInitialized(false) {}
};
で、私が手にエラーがこれです:
エラー: '演算子=' の不一致(オペランドの型が* 'ペルソナ' と「ペルソナです')|
エラーは 'per [k] = arreglo;という行にマークされています。 ' この部分はPersona構造体を指します
注:候補は次のとおりです。 メモ:ペルソナ&ペルソナ::演算子=(constペルソナ&)| 注: 'Persona *'から 'const Persona &'に引数1の変換はありません。
perとarregloの両方がグローバルなPersona *として宣言されています。
ある場合やペルソナである必要はありwhould **
ごとにあなたはまた、オペレータを実装する必要があるかもしれませんスタックオーバーフローへようこそ! [MCVE](https://stackoverflow.com/help/mcve)を入力してください。 –
'per'と' arreglo'は定義されていません。 MCVE –
@TheAspiringHackerを投稿する[mcve]の短縮形のリンクには[mcve]を使用してください。 – iBug