В следующем коде C ++ определяется три разных структуры, каждая из которых содержит указатель каждой из двух других структур. Интуитивно, я бы ожидал, что вывод внутри функционального вызова и что за пределами вызова функции будет одинаковым. Однако выходы разные. Я новичок в C ++. Я думаю, это связано с какой-то известной причиной. Кто -нибудь может сказать мне, в чем причина и как исправить код? Большое спасибо. < /P>
#include
#include
using namespace std;
struct S2;
struct S3;
struct S1{
S2* s2;
S3* s3;
double a;
S1 (): a(0),s2(nullptr), s3(nullptr) {}
};
struct S2{
S1* s1;
S3* s3;
double b;
S2 (): b(0), s1(nullptr), s3(nullptr) {}
};
struct S3{
S1* s1;
S2* s2;
double c;
S3 (): c(0), s1(nullptr), s2(nullptr) {}
};
tuple getelements(){
S1 s1;
S2 s2;
S3 s3;
s1.a = 1.0;
s1.s2 = &s2;
s1.s3 = &s3;
s2.b = 2.0;
s2.s1 = &s1;
s2.s3 = &s3;
s3.c = 3.0;
s3.s2 = &s2;
s3.s1 = &s1;
cout s3->c c
Выходы < /p>
3
-6.19511e-264
Подробнее здесь: https://stackoverflow.com/questions/796 ... roblematic
C ++ PTR структуры внутри другой структуры, возврат функции является проблематичным [дублировать] ⇐ C++
Программы на C++. Форум разработчиков
1750669451
Anonymous
В следующем коде C ++ определяется три разных структуры, каждая из которых содержит указатель каждой из двух других структур. Интуитивно, я бы ожидал, что вывод внутри функционального вызова и что за пределами вызова функции будет одинаковым. Однако выходы разные. Я новичок в C ++. Я думаю, это связано с какой-то известной причиной. Кто -нибудь может сказать мне, в чем причина и как исправить код? Большое спасибо. < /P>
#include
#include
using namespace std;
struct S2;
struct S3;
struct S1{
S2* s2;
S3* s3;
double a;
S1 (): a(0),s2(nullptr), s3(nullptr) {}
};
struct S2{
S1* s1;
S3* s3;
double b;
S2 (): b(0), s1(nullptr), s3(nullptr) {}
};
struct S3{
S1* s1;
S2* s2;
double c;
S3 (): c(0), s1(nullptr), s2(nullptr) {}
};
tuple getelements(){
S1 s1;
S2 s2;
S3 s3;
s1.a = 1.0;
s1.s2 = &s2;
s1.s3 = &s3;
s2.b = 2.0;
s2.s1 = &s1;
s2.s3 = &s3;
s3.c = 3.0;
s3.s2 = &s2;
s3.s1 = &s1;
cout s3->c c
Выходы < /p>
3
-6.19511e-264
Подробнее здесь: [url]https://stackoverflow.com/questions/79675911/c-ptr-of-a-struct-inside-another-struct-function-return-is-problematic[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия