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

Как правильно передать уникальный аргумент в функцию - C++

Восстановить пароль Регистрация
 
Visary_Master
 Аватар для Visary_Master
-154 / 16 / 4
Регистрация: 01.12.2010
Сообщений: 297
06.10.2011, 11:58     Как правильно передать уникальный аргумент в функцию #1
Здравствуйте! Помогите пожалуйста в решении такой проблемы:
Есть структура, она должна хранить в себе строку, и уникальный символ.
В главной функции есть функция, которая должна принимать структуру с уникальным символом и строкой.
Вопрос, как это организовать?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <iostream>
using namespace std;
 
struct thread_arg
{
    char *str;
    //char *key; // Не могу сообразить, как тут сделать
};
void someFunc(char key)
{
    cout << key << endl;
}
int main()
{
    struct thread_arg targ;
    int n = 10;
    for (int i=0; i<n; i++)
    {
               // Нужно здесь сделать так, чтобы при разном i передавался разный уникальный символ.
        targ.key = (char *)'a'; 
        someFunc(&targ);
    }
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.10.2011, 11:58     Как правильно передать уникальный аргумент в функцию
Посмотрите здесь:

создать функцию в которой строка передаётся как аргумент и возвращает количество слов C++
C++ Как правильно передать в функцию указатель на двумерный массив?
как передать аргумент в качестве массива C++
Как правильно передать динамический массив в функцию, увеличивающую его размер, чтобы изменения сохранились C++
C++ Как правильно передать объект fstream в функцию
C++ Не получается адрес динамического двумерного массива передать, как аргумент функции
Как правильно вызвать функцию с указателем на другую функцию как параметр C++
C++ Как правильно вписать функцию в h-файл и правильно её отразить в основной функции?

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
-=ЮрА=-
Заблокирован
Автор FAQ
06.10.2011, 12:20     Как правильно передать уникальный аргумент в функцию #2
Цитата Сообщение от Visary_Master Посмотреть сообщение
Здравствуйте! Помогите пожалуйста в решении такой проблемы:
Есть структура, она должна хранить в себе строку, и уникальный символ.
В главной функции есть функция, которая должна принимать структуру с уникальным символом и строкой.
Вопрос, как это организовать?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#include <iostream>
#include <conio.h>
using namespace std;
 
struct somestruct
{
    long lVal;
    char sVal[33];//Строка из 32 символов
    char chUnique;//Какой то там уникальный сингл чар
    //Ну и хватит с аргументами, при желании их можно добавить
};
 
void InitStruct(somestruct &p);//Инициализируем структуру
void ShowStruct(somestruct p);//Выводим поля структуры на экран
 
int main()
{
    somestruct test;
    do
    {
        InitStruct(test);
        ShowStruct(test);
        std::cout<<"Press Y for new input\r\n";
    }
    while(toupper(getch()) == 'Y');
    return 0;
}
 
void InitStruct(somestruct &p)
{
    std::cout<<"Enter struct fields\r\n";
    std::cout<<"lVal : ";std::cin>>p.lVal;
    std::cout<<"sVal : ";std::cin>>p.sVal;
    std::cout<<"chUnique : ";std::cin>>p.chUnique;
}
 
void ShowStruct(somestruct p)
{
    std::cout<<"See fields of struct\r\n";
    std::cout<<"lVal : "<<p.lVal<<"\r\n";
    std::cout<<"sVal : "<<p.sVal<<"\r\n";
    std::cout<<"chUnique : "<<p.chUnique<<"\r\n";
}
Миниатюры
Как правильно передать уникальный аргумент в функцию  
-=ЮрА=-
06.10.2011, 12:24     Как правильно передать уникальный аргумент в функцию
  #3

Не по теме:

PS:Visary_Master, на сколько я понял вы столкнулись с проблеммой инициализации структуры в теле функции, а верней как сохранить в полях присвоенные в теле значанения, это делается при помощи передаче параметра по ссылке

Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
void InitStruct(somestruct &p)
- обратите внимание на символ & - это позволит при таком вызове в программе
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
InitStruct(test);
сохранять присвоенные полям в теле функции значания
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
std::cout<<"Enter struct fields\r\n";
* * * * std::cout<<"lVal : ";std::cin>>p.lVal;
* * * * std::cout<<"sVal : ";std::cin>>p.sVal;
* * * * std::cout<<"chUnique : ";std::cin>>p.chUnique;

Yandex
Объявления
06.10.2011, 12:24     Как правильно передать уникальный аргумент в функцию
Ответ Создать тему
Опции темы

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