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

Инициализация массива char'ов в структуре - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 28, средняя оценка - 4.71
Union
 Аватар для Union
17 / 17 / 2
Регистрация: 16.08.2010
Сообщений: 252
24.04.2011, 23:21     Инициализация массива char'ов в структуре #1
Вот создал такую структуру
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
struct ubs
{
        //Конструктор с параметрами по умолчанию
        ubs(
                char name_[30]="",
                char mode_=0,
                std::string okr_=""
             )
            //инициализация полей структуры значениями
            :name(name_),
            mode(mode_),
            okr(okr_)
        {
        }
        //Поля структуры..
        char name[30];
        char mode;
        std::string okr;
};
Всё работает, int, char, string. Добавляю массив чаров, сразу перестаёт работать. Выдаёт:
incompatible types in assignment of ‘char*’ to ‘char [30]’
Как правильно инициализировать массив?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.04.2011, 23:21     Инициализация массива char'ов в структуре
Посмотрите здесь:

C++ Сравнение строки в структуре с переменной типа char
C++ инициализация массива char в конструкторе
C++ Инициализация объектов в структуре
Инициализация char массива C++
C++ Инициализация vector<char>
Инициализация char в конструкторе C++
C++ Инициализация *char в конструкторе
C++ Инициализация структур и не вывод строчки char*

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Chelioss
179 / 179 / 4
Регистрация: 08.01.2011
Сообщений: 1,131
24.04.2011, 23:33     Инициализация массива char'ов в структуре #2
Как вы добавляете?
incompatible types in assignment of ‘char*’ to ‘char [30]’
Невозможно преобразовать указатель в объект.
igorrr37
 Аватар для igorrr37
1594 / 1222 / 118
Регистрация: 21.12.2010
Сообщений: 1,868
Записей в блоге: 7
25.04.2011, 00:42     Инициализация массива char'ов в структуре #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include<iostream>
#include<string>
#include<cstring>
 
struct ubs{
    ubs(
        char name_[30]="www",
        char mode_=0,
        std::string okr_=""
        ): mode(mode_), okr(okr_){
            strcpy(name, name_);
        }
    char name[30];
    char mode;
    std::string okr;
}obj;
 
int main(){
    std::cout<<obj.name<<"\n";
    return 0;
}
Yandex
Объявления
25.04.2011, 00:42     Инициализация массива char'ов в структуре
Ответ Создать тему
Опции темы

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