Форум программистов, компьютерный форум CyberForum.ru

запрошено преобразование от ‘const std::string*’ к нескалярному типу ‘std::string’ - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 5.00
Drus
 Аватар для Drus
57 / 57 / 1
Регистрация: 07.10.2011
Сообщений: 203
13.11.2011, 10:25     запрошено преобразование от ‘const std::string*’ к нескалярному типу ‘std::string’ #1
C++
1
2
3
4
5
6
7
private:
    std::string firstName[ 10 ];
};
 
std::string ClientData::getFirstName() const{
    return firstName;
}
Дает в итоге вот такой матерок:

запрошено преобразование от ‘const std::string*’ к нескалярному типу ‘std::string’

И вот какой вопрос, собственно говоря, почему такое происходит при объявлении статического объекта string, в противовес динамическому и как его вернуть объектом а не адресом

И правильно ли я понимаю что объект рукотворный программистом/пользовательский - это адрес первого байта?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.11.2011, 10:25     запрошено преобразование от ‘const std::string*’ к нескалярному типу ‘std::string’
Посмотрите здесь:

Ошибка при компиляции "Cannot convert `std::string' to `const char*" C++
Передача функции указатель на элемент std::vector<std::string> C++
C++ Где и почему используют ту или иную строку std::string, char[], System::String^ ?
C++ ошибка в программе (cannot convert 'std::string {aka std::basic_string<char>}' to 'const char*')
C++ Как правильно перевести std::wstring в std::string ?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
soon
 Аватар для soon
2536 / 1301 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
13.11.2011, 10:28     запрошено преобразование от ‘const std::string*’ к нескалярному типу ‘std::string’ #2
Создается массив на 10 элементов типа std::string, и возвращается указатель на первый элемент, хотя возвращаемый тип заявлен как std::string.
Drus
 Аватар для Drus
57 / 57 / 1
Регистрация: 07.10.2011
Сообщений: 203
13.11.2011, 10:31  [ТС]     запрошено преобразование от ‘const std::string*’ к нескалярному типу ‘std::string’ #3
Цитата Сообщение от soon Посмотреть сообщение
Создается массив на 10 элементов типа std::string, и возвращается указатель на первый элемент, хотя возвращаемый тип заявлен как std::string.
может я конечно не совсем понял. Такого не происходит при объявлении динамического string, а только в статическом, у этих способов разный способ создания объекта? или я неправильно чего-то сделал?
soon
 Аватар для soon
2536 / 1301 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
13.11.2011, 10:44     запрошено преобразование от ‘const std::string*’ к нескалярному типу ‘std::string’ #4
Может, конечно, это тонкости задания, если так прошу извинить, но зачем человеку десять имен?
Drus
 Аватар для Drus
57 / 57 / 1
Регистрация: 07.10.2011
Сообщений: 203
13.11.2011, 10:58  [ТС]     запрошено преобразование от ‘const std::string*’ к нескалярному типу ‘std::string’ #5
вот вы мне сейчас Америку перед носом открыли, спасибо.

На самом деле переменная должна быть объявлена как десятисимвольный массив, а не как десятистроковый. Прошу прощения за создание бесполезной темы из-за своей глупости.

Спасибо!
Yandex
Объявления
13.11.2011, 10:58     запрошено преобразование от ‘const std::string*’ к нескалярному типу ‘std::string’
Ответ Создать тему
Опции темы

Текущее время: 06:36. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru