Я создаю класс, который имеет два члена string и int
Я хочу использовать конструктор для инициализации обоих этих членов, чтобы использовать их.
#pragma once
#include <string>
#include <iostream>
using namespace std;
class donation_1
{
public:
//string name;
const char* name;
int donation_amount;
const static size_t string_size = sizeof(string);
const static size_t int_size = sizeof(int);
donation_1(char* name_1 = "Noname", int amount = 0) : name(name_1), donation_amount(amount) {};
};
int main()
{
fstream file;
file.open("donation_total1.txt", ios_base::app);
if (file.is_open())
{
donation_1("xxxx", 20).writedata(file);
donation_1("yyyy", 30).writedata(file);
donation_1("zzzz", 40).writedata(file);
donation_1("MMMM", 50).writedata(file);
donation_1("BBBB", 60).writedata(file);
file.close();
}
else
{
cout << "file couldn't be opened" << endl;
}
return 0;
}
Я хочу использовать конструктор для инициализации переменных класса, которые я буду использовать для обновления файла, однако, я получаю эту ошибку. эта ошибка касается инициализации члена класса строки.
Код серьезности Описание Состояние подавления строки файла проекта
Ошибка (активная) E0310 Аргумент по умолчанию типа "const char *" несовместим с параметром типа "char *" Stream_File_Lab D: \ INVSPRIVATE \ C ++ \ Projects \ Stream_File_Lab \ donation_1.h 17