Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
6 / 6 / 5
Регистрация: 05.04.2016
Сообщений: 67
1

Слово class не равносильно struct?

01.08.2018, 15:08. Показов 961. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
подскажите причину по которой первый класс (A) не компилируется?

C++
1
2
3
4
5
6
7
8
9
10
class A
{
public:
    char str[4] = "123";
};
 
struct B
{
    char str[4] = "123";
};
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
01.08.2018, 15:08
Ответы с готовыми решениями:

Class vs Struct
класс или структура что создаётся быстрее? перегружаются ли конструкторы структуры? если существуют (не уверен) сколько занимают в...

Struct VS Class
Здравствуйте. Я прочел интересную статью http://www.rsdn.ru/article/cpp/ObjectsAndPointers.xml#EVPAC по использованию памяти для...

Перевод с Struct в Class
Помогите пожалуйста в данной программе из структур сделать классы Вот код: #include <iostream> #include <vector> ...

5
2784 / 1937 / 570
Регистрация: 05.06.2014
Сообщений: 5,602
01.08.2018, 15:12 2
УМВР. Компилятор C++11 поддерживает?
0
6 / 6 / 5
Регистрация: 05.04.2016
Сообщений: 67
01.08.2018, 15:13  [ТС] 3
думаю да, последняя студия
0
2784 / 1937 / 570
Регистрация: 05.06.2014
Сообщений: 5,602
01.08.2018, 15:15 4
Цитата Сообщение от Lunix Посмотреть сообщение
думаю да, последняя студия
Тогда, может где-то стоит опережающее объявление класса A? В class A; (точка с запятой) и class A{тело класса} class/struct должны совпадать.
1
6 / 6 / 5
Регистрация: 05.04.2016
Сообщений: 67
01.08.2018, 15:26  [ТС] 5
кидало такую ошибку :

Code
1
Ошибка    C2997   "A::str": граница массива не может быть выведена из инициализатора элементов по умолчанию  Project4    c:\source.cpp   14
хоть границу и не нужно было вычислять , я ведь размер массива явно указал.
в структуре вообще не указывал размерность и работало, а класс в никакую, НО после перезапуска все нормально компилируется, в чем была проблема не понятно, спасибо!
0
504 / 247 / 75
Регистрация: 31.10.2010
Сообщений: 747
01.08.2018, 16:50 6
Lunix, какую кодировку установили по умолчанию? char -- однобайтный символ, массив char str[4]; будет иметь 4 байта, а строка может быть юникод - многобайтный, потому попросту не влезает в массив.
Необходимо согласовать кодировки, типы строк и размеры массивов. Смотрите настройки компилятора и редактора.
Попробуйте тип wchar_t и макросы:
C++
1
2
3
4
5
//Макрос 1:
wchar_t *wstring = TEXT(“text example”);
 
//Макрос 2:
wchar_t *wstring = L“text example”;
Добавлено через 15 минут
Lunix, вот пример:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include<iostream>
class A
{
public:
    wchar_t *wstring = L"text example";
};
 
struct B
{
    char str[4] = "123";
};
int main()
{
    A a;
    B b;
    std::cout<<b.str<<std::endl;
    std::wcout<<a.wstring<<std::endl;
    return 0;
}
Добавлено через 1 минуту
проверить здесь
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
01.08.2018, 16:50
Помогаю со студенческими работами здесь

Перевод с Struct в Class
Помогите пожалуйста в данной программе из структур сделать классы Вот код: #include &lt;iostream&gt; using namespace std; ...

Сравнительная характеристика struct и class
Всем доброго дня! Решил сравнить работу структур с классами. В функцию func(Trainee Vania) передаю обьект структуры Trainee как...

Чем struct отличается от class?
Чем отличаются эти ключевые слова кроме public/private по умолчанию?

Illegal use of incomplete struct/union/class
Почему выходит эта ошибка? LbsPositionListener.h /* *...

Ошибка type qualifier 'std' must be a struct or class name
а у меня на эту строку typedef std::string T_str; выдается ошибка type qualifier 'std' must be a struct or class name что делать? ...


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

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

Редактор формул (кликните на картинку в правом углу, чтобы закрыть)
Новые блоги и статьи
Лучшие практики оптимизации Docker Image
Mr. Docker 13.03.2025
Размер Docker-образа влияет на множество аспектов работы с контейнерами. Чем больше образ, тем дольше его загрузка в реестр и выгрузка из него. Для команд разработки, работающих с CI/ CD пайплайнами,. . .
Вопросы на собеседовании по Docker
Mr. Docker 13.03.2025
Ты сидишь напротив технического специалиста, и вдруг звучит вопрос про Docker Swarm или многоэтапные сборки. Пот на лбу? Не переживай, после этой статьи ты будешь готов ко всему! Эта статья будет. . .
Поиск текста в сносках : замена дефиса на тире или тире на дефис...
РоΜа 13.03.2025
Нужно было найти текст в сносках и заменить. Почему-то метод селекшн не сработал. . . пришлось гуглить. найденный на форумвба код пришлось править. Смысл - заменяет в сносках дефисы и тире на нужные. . . .
Real PATH definitions in bash scripts
jigi33 13.03.2025
Как поймать путь и путь к директории относительно запускаемого файла в BASH 1. поймать путь через вывод $(pwd) 2. более правильно - на основе realpath (см. скриншот)
Django или Flask: что выбрать для веб-разработки на Python
py-thonny 13.03.2025
Django – это высокоуровневый фреймворк, который придерживается философии "всё включено". Он предоставляет разработчику готовые решения для большинства типичных задач веб-разработки: от аутентификации. . .
Непрерывное развертывание в Java с Kubernetes
Javaican 13.03.2025
Чем так привлекателен Kubernetes для развертывания Java-приложений? Этот оркестратор контейнеров позволяет автоматизировать развертывание, масштабирование и управление контейнеризированными. . .
Предотвращение XSS, CSRF и SQL-инъекций в JavaScript
run.dev 13.03.2025
JavaScript занимает первые позиции среди языков веб-разработки, но его распространенность делает его привлекательной целью для злоумышленников. Межсайтовый скриптинг (XSS), межсайтовая подделка. . .
PHP 8: JIT-компиляция и улучшение производительно­сти
Jason-Webb 13.03.2025
PHP никогда не славился своей скоростью. Многие сталкивались с проблемами производительности при работе со сложными вычислениями или обработкой больших объемов данных. Традиционная модель выполнения. . .
Сериализация данных с Apache Avro в Kafka
Javaican 12.03.2025
Apache Kafka стала одним из ключевых решений для работы с большими потоками данных. Однако с ростом объемов передаваемых данных возникает проблема: как эффективно сериализовать и десериализовать. . .
Создание потребителей Kafka с помощью Reactor Kafka
Javaican 12.03.2025
Reactor Kafka — это библиотека, объединяющая Apache Kafka с реактивным программированием на базе Project Reactor. Такое сочетание позволяет строить неблокирующие, асинхронные приложения с контролем. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru