Это продолжение этого вопроса, что некоторые хорошие люди уже помогли мне: Passing a string pointer to a struct in C++Передача указателя на строку на структуру в C++ (продолжение)
Я пытаюсь передать различные string
сек в член Struct
через pointer
, но я делаю что-то принципиально неправильное. Я думаю, что это не нужно разыгрывать. Процесс ниже работает для других типов данных, таких как int
или char
. Например:
typedef struct Course{
string location;
string course;
string title;
string prof;
string focus;
int credit;
int CRN;
int section;
}Course;
void c_SetLocation(Course *d, string location){
d->location = location;
. . .
}
Я получаю ошибку, когда я пытаюсь скомпилировать следующий алгоритм инициализировать Course
:
void c_Init(Course *d, string *location, ...){
c_SetLocation(d, &location);
. . .
}
Ошибка:
error: cannot convert ‘const char*’ to ‘std::string* or argument ‘2’ to ‘void c_Init
я только сделал, что от отчаяния, когда ваше предложение (и то, как я думал, что правильный способ сделать он изначально) не работал. Я все равно получаю такую же ошибку. –
Поскольку вы не изменяете местоположение (я полагаю), установите параметр как строку const & location –
Я изменяю его. Ну, есть дополнительная функция для этого. Но, несмотря на то, что ваш совет был на месте, спасибо. –