std::string date1 = "10/1/2010";
- это инициализация с использованием перегруженного оператора =
.
.
Date d1(stringToChar(date1);
- инициализация с помощью конструктора.
In
struct RecPayments
{
std::string name;
Date datemake();
float cost;
};
Date datemake();
- это объявление функции, которая возвращает Date
, а не поле члена типа Date
.Поэтому вам необходимо удалить эти скобки.
Также
newPaymentItem->datemake(stringToChar("4/12/2011"));
- это вызов функции, но все, что вы действительно хотите сделать, - это присвоение.Поэтому его следует изменить на newPaymentItem->datemake = stringToChar("4/12/2011");
Последнее означает, что ваш класс Date
имеет соответствующую перегрузку оператора =
.Если он не был перегружен, то вы можете сказать newPaymentItem->datemake = Date(stringToChar("4/12/2011");)
, в этом случае будет использоваться автоматически перегруженный оператор =
.