75 / 59 / 31
Регистрация: 20.03.2017
Сообщений: 351
1

Как качестве параметра в map использовать класс со структурой?

25.09.2017, 11:24. Показов 617. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Как качестве параметра в map использовать класс со структурой содержащей переменные атоmic<int>?
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#include <iostream>
#include <fstream>
#include <cstring>
#include <map>
#include <atomic>
 
using namespace std;
 
#define MAX_LEN_IP 15
#define SIZE_BUFF 1024
#define PRINTF(str) cout << "Str: " << str << endl;
 
class CTarget
{
    struct sSettings
    {
        char Ip[MAX_LEN_IP];
        int Port;
        atomic<int> Head;
        atomic<int> Tail;
        atomic<int> freeSize;
        sSettings()
        {
            memset(Ip, 0, MAX_LEN_IP);
            Port = -1;
            //Head = -1; Tail = -1; freeSize = SIZE_BUFF;
 
            Head = ATOMIC_VAR_INIT(0);
            Tail = ATOMIC_VAR_INIT(0);
            freeSize = ATOMIC_VAR_INIT(SIZE_BUFF);
        }
    };
 
public:
    void setIp(char * IP){
        memcpy(&m_setting.Ip, IP, strlen(IP));
    }
    void setPort(int port){
        m_setting.Port = port;
    }
 
private:
    sSettings m_setting;
};
 
int main(int argc, char *argv[])
{
 
    map <int, CTarget> m_target;
 
    CTarget target;
    target.setIp((char*)"172.20.3.123");
    target.setPort(5150);
 
    m_target.insert(pair<int, CTarget>(0, target));
 
    string str = "Ku!";
    PRINTF(str);
 
 
    return 0;
}
При таком использовании вываливаются ошибки:
1. use of deleted function 'CTarget::CTarget(const CTarget&)': first(std::forward<_U1>(__x)), second(__y) { }
2. use of deleted function 'CTarget::sSettings::sSettings(const CTarget::sSettings&)'
3. use of deleted function 'std::atomic<int>::atomic(const std::atomic<int>&)'
4. no matching function for call to 'std::map<int, CTarget>::insert(std:air<int, CTarget>)' m_target.insert(pair<int, CTarget>(0, target));

и т.д.

Добавлено через 50 минут
Можно удалять.
0
25.09.2017, 11:24
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
25.09.2017, 11:24
Ответы с готовыми решениями:

функция со структурой в качестве параметра
Народ, а как можно сделать следующее: есть структура, скажем: typedef struct my_struct { u08 a; u16 b; u16 c; } my_struct;

Map с функциями: Как использовать функции в качестве объектов
Создал map, в котором по знаку операции( '^' к примеру) ищется бинарная операция. Вот код. #include &lt;iostream&gt; #include...

Как правильно использовать массив в качестве параметра функции ?
Здравствуйте ! Подскажите, пожалуйста правильный синтаксис описания функции, в качестве параметра которой используется, например...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
25.09.2017, 11:24
Помогаю со студенческими работами здесь

Как в getExtra использовать стринговую переменную в качестве параметра?
Имею: Button button1 = (Button)findViewById(R.id.buttonone); button1.setOnClickListener(new OnClickListener() { ...

Зачем в качестве параметра передавать null и потом использовать его как массив?
Я встретил такой код и он УБИЛ МЕНЯ НАПОВАЛ(: public static function getCellsWeight($kpW, $ss=null, $alf=null) { $res =...

Как сделать generic класс, который будет принимать в качестве параметра только числа и уметь их складывать и т.д?
Я хочу написать класс дерева отрезков в который можно передавать любые числа, однако даже T extends Number мне не помогает, потому что для...

Использовать имя таблицы в качестве параметра триггерной функции
Добрый день всем, есть такая задача: Имеем 3 таблицы: group1(id serial, name1 text), prod(id serial, group_id serial, name1 text),...

Можно ли использовать юнит в качестве входного параметра для функции
В проекте есть n-ное количество unit'ов, причем с разными названиями, но в каждом юните есть глобальная переменная с одинаковым названием....


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему

Редактор формул (кликните на картинку в правом углу, чтобы закрыть)
Опции темы

Новые блоги и статьи
Контейнер std::map в C++
bytestream 09.02.2025
Контейнер std::map в C++ - один из наиболее мощных инструментов стандартной библиотеки, предназначенный для хранения пар ключ-значение. Каждый элемент в map состоит из уникального ключа и связанного. . .
Как в Python сделать вывод с print без перевода строки и пробела
hw_wired 09.02.2025
Функция print в Python обеспечивает гибкие возможности для вывода информации в консоль. При стандартном использовании эта функция автоматически добавляет символ перевода строки в конце выводимого. . .
Как в Python проверить, что у объекта есть атрибут
hw_wired 09.02.2025
В Python существует несколько встроенных способов проверки наличия атрибутов у объектов. Наиболее распространенным является использование функции hasattr(), которая позволяет безопасно определить. . .
Как удалить экспортированну­ю переменную окружения в Linux
hw_wired 09.02.2025
В Linux работа с переменными окружения - важная часть системного администрирования и разработки. Экспортированные переменные окружения отличаются от обычных локальных переменных тем, что они доступны. . .
Ошибка Error: error:0308010C:­digital envelope routines::unsup­ported
hw_wired 09.02.2025
Ошибка "error:0308010C:digital envelope routines::unsupported" чаще всего появляется при работе с Node. js приложениями и связана с изменениями в системе безопасности криптографических алгоритмов. . . .
В чем отличие между .prop() и .attr()
hw_wired 09.02.2025
В jQuery методы . prop() и . attr() часто вызывают путаницу, поскольку на первый взгляд предназначены для похожих целей. Однако между ними существуют принципиальные различия в работе с DOM-элементами и. . .
В чем отличие SCSS и SASS
hw_wired 09.02.2025
SCSS и SASS появились как решение проблем, связанных с ограничениями обычного CSS при разработке крупных веб-проектов. Традиционный CSS, несмотря на свою простоту, не предоставлял разработчикам. . .
Как найти дубликаты в таблице базы данных
hw_wired 09.02.2025
Дублирование записей в таблицах баз данных может возникать по разным причинам: ошибки при вводе данных, некорректная работа систем импорта, слияние данных из разных источников или неправильная. . .
Как удалить дубликаты из массива в JavaScript
hw_wired 09.02.2025
Самый простой и современный способ удаления дубликатов в JavaScript - использование структуры данных Set в сочетании с Array. from. Set автоматически хранит только уникальные значения, а Array. from. . .
Go Protobuf: новый Opaque API
hw_wired 09.02.2025
Protocol Buffers (protobuf) давно зарекомендовал себя как эффективный формат сериализации данных, широко используемый в микросервисных архитектурах и распределенных системах. Однако существующая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru