Форум программистов, компьютерный форум, киберфорум
C/С++ под Linux
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
72 / 1 / 3
Регистрация: 28.11.2009
Сообщений: 78
1

Работа со структурами

17.09.2010, 00:49. Показов 858. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Совсем недавно перешёл на LINUX (очень рад) и с огорчением заметил что некоторые проги на писанные на VB не идут через gcc. Например: если создавая структуру, одним из эл-тов будет элемент такого же типа (распространено в списках, дервьях и т. д.), то компилятор VB это прочтёт, а компилятор Linux выдаст ошибку...
C
1
2
3
4
5
6
7
...
struct Element
{
    char data;
    Element *Next;
};
...
выдаст он ошибку и если мы динамически выделим память под переменную типа этой структуры в какой-нибудь функции
C
1
2
3
...
    Element * temp =new Element;
...
с чем это связано и как это решить?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.09.2010, 00:49
Ответы с готовыми решениями:

Работа со структурами
Есть код программы,к сожалению не мой,пытаюсь его понять но не все понятно. #include <iostream>...

Работа со структурами
Известны данные о численности населения и площади 10 государств. Определить государство с...

Работа со структурами
Вот задачка.... Описать структуру авто, содержащую информацию об автомобиле: марка, модель, цвет,...

Работа с структурами
#include <cstdlib> #include <iostream> using namespace std; struct struc{ char* a; ...

4
Эксперт С++
3211 / 1459 / 74
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
17.09.2010, 00:54 2
Цитата Сообщение от velodro Посмотреть сообщение
VB
это что?

Добавлено через 3 минуты
Цитата Сообщение от velodro Посмотреть сообщение
struct Element
{
* * char data;
* * Element *Next;
};
потому что при компиляции Си компилятором, член структуры "Next" имеет тип "Element". но компилятор не знает кто такой "Element".
хз что такой VB, но линуксовый компилятор правильно реагирует на такой код.
исправляется это так:
C
1
2
3
4
5
struct Element
{
* * char data;
* * struct Element *Next;
};
во втором случае - так же.
0
72 / 1 / 3
Регистрация: 28.11.2009
Сообщений: 78
17.09.2010, 01:07  [ТС] 3
тьфу ёё.. не VB а VS (Visual Studio)
..но во второй проблеме это struct не прокатит..
у меня догадка что это исключительно стиль С, а стиль С++ он не понимаает...
и, кстати не видит библиотеки iostream
0
Эксперт С++
3211 / 1459 / 74
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
17.09.2010, 01:17 4
Цитата Сообщение от velodro Посмотреть сообщение
..но во второй проблеме это struct не прокатит..
это почему же?

Цитата Сообщение от velodro Посмотреть сообщение
у меня догадка что это исключительно стиль С, а стиль С++ он не понимаает...
кто "он"?
компилятор с++ - g++

Цитата Сообщение от velodro Посмотреть сообщение
и, кстати не видит библиотеки iostream
gcc не видит. а g++ видит.
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
12458 / 7482 / 1753
Регистрация: 25.07.2009
Сообщений: 13,762
17.09.2010, 01:25 5
Цитата Сообщение от velodro Посмотреть сообщение
компилятор VB
Цитата Сообщение от niXman Посмотреть сообщение
это что?
что-то кроме Visual Basic ничего не придумывается...
Цитата Сообщение от velodro Посмотреть сообщение
Например: если создавая структуру, одним из эл-тов будет элемент такого же типа (распространено в списках, дервьях и т. д.)
это разве-что в индусских списках и деревьях распространено...
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
#include <iostream>
 
template <typename T>
class List {
    struct Node {
        T value;
        Node * next;
        Node(const T& val) : value(val), next(NULL) {}
    };
    Node * first, * last;
public:
    List() : first(NULL), last(NULL) {}
    ~List() {
        while ( first ) {
            last = first->next;
            delete first;
            first = last;
        }
    }
    void add(const T & val) {
        Node * pn = new Node(val);
        if ( ! first ){
            first = pn;
            last = first;
        }
        else {
            last->next = pn;
            last = pn;
        }
    }
    void print(std::ostream & dest) const {
        for ( Node * pn = first; pn; pn = pn->next )
            dest << pn->value << std::endl;
    }
};
 
int main(){
    List<int> list;
    list.add(1);
    list.add(2);
    list.add(3);
    list.print(std::cout);
    
    return 0;
}
0
17.09.2010, 01:25
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.09.2010, 01:25
Помогаю со студенческими работами здесь

Работа со структурами
Всем здрасти, вообщем есть код на deplhi и его нужно адаптировать по с++ builder, но в связи с тем...

РАБОТА СО СТРУКТУРАМИ
Судоходные реки: Название реки, протяженность, минимальная глубина фарватера. Дополнить вывод...

работа со структурами
#include&lt;conio.h&gt; #include&lt;iostream.h&gt; #include&lt;string.h&gt; main() { int n=0, i, zapros,...

Работа со структурами
Создать массив структур Название файла, объем файла, дата создания. И вывести на печать записи...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru