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

Передача функции указатель на элемент std::vector<std::string> - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Стеки http://www.cyberforum.ru/cpp-beginners/thread596607.html
Создать стек с числами в диапазоне от –50 до +50.Создать новый стек, в который поместить каждый третий элемент пер-вого стека.
C++ Не открывается файл #include <stdio.h> #include <iostream> #include <cstdlib> #include <fstream> #include <string> using namespace std; int main(){ int z = 0; FILE* file = fopen("123.txt", "r"); http://www.cyberforum.ru/cpp-beginners/thread596606.html
C++ Не работает элементарнейший код
int _tmain() { vector<double> numbers; double number = 0; const double abs_mistake = 0.1; double num_mistake = 0; cout << "Input 2 numbers and press '|': \n"; while(cin >> number) numbers.push_back(number);
C++ TreeView данные об узле (WINAPI)
Доброго времени суток :) Существует ли возможность для узлов в TreeView хранить больше информации об элементе, чем одно название? Или необходимо создать свою структуру "дерево" и хранить ее абсолютно отдельно? А в treeview, как элементы, подсовывать только названия узлов? Как быть, если названия узлов, не уникальные ???? О_о Добавлено через 11 минут Может можно ему подсунуть каким то...
C++ Переписать элементы с массива с одного в другой http://www.cyberforum.ru/cpp-beginners/thread596574.html
11.246* Дан массив. Переписать его элементы в другой массив такого же размера следующим образом: сначала должны идти все отрицательные элементы, а затем все остальные. Использовать только один проход по исходному массиву. #include <iostream> #include <ctime> using namespace std; int main () { setlocale (LC_CTYPE, "Russian"); srand(time(NULL));
C++ Как писать код по стандарту Извините, что создал тему скорей всего в неподходящей ветке. Но все же. Где-то читал (к сожалению не помню где) как нужно писать код по стандарту: Ну что то типа имена переменных класса начинать со знака подчеркивания. Методы класса еще как то. Плз напомните что за стандарт, если можно - то ссылочку. Заранее спасибо подробнее

Показать сообщение отдельно
shalad
7 / 7 / 0
Регистрация: 17.05.2010
Сообщений: 122

Передача функции указатель на элемент std::vector<std::string> - C++

05.06.2012, 02:41. Просмотров 8970. Ответов 14
Метки (Все метки)

Доброй ночи тем, кому не спится (или живет в другом часовом поясе)!
Есть функция, требующая в качестве параметра указатель на std::string
C++
1
2
3
4
void SomeF(std::string* s)
{
    // To Do
}
В main() создается указатель на std::vector<std::string>, добавляются в него элементы. При попытке написать типа
C++
1
2
std::vector<std::string>* v = new std::vector<std::string>;
SomeF(v[i]);
получаю error C2664'SomeF' : cannot convert parameter 1 from 'std::vector<_Ty>' to 'std::string *' во второй строчке этого кода
Я вроде понимаю, почему, но другого варианта, кроме как предварительно загнать все это в строку, а потом передать указатель на нее я не знаю.

Добавлено через 6 минут
Че-то я так подумал, раз в строку загнать можно, а потом передать ее адресс в функцию можно, значит получится как-то и с вектором! Написал как-то так:
C++
1
SomeF(&((*v)[i]));
И работает!
Скажите, правильно ли так писать?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru