С наступающим Новым годом! Форум программистов, компьютерный форум, киберфорум
C++/CLI
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
2 / 2 / 0
Регистрация: 03.04.2009
Сообщений: 44
1

Несколько структур в классе

03.04.2009, 18:35. Показов 1093. Ответов 6
Метки нет (Все метки)

Делаю подобие словаря для курсача на основе одноправленного списка с заголовком в VisualStudio 2008. Собственно имеется класс Dictionary, и в нем 2 структуры
List_item - элемент списка
List - заголовок списка
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
//Dictionary.h
 
#pragma once
 
#include "stdafx.h"
 
ref class Dictionary
{
private:
    ref struct List_item
    {
        int key;
        int inf;
        List_item ^next;
    };
 
    ref struct List
    {
        int size;
        List_item ^beg;
    };
 
public:
    List^ create_list()
    List_item^ new_item()
};
 
//Dictionary.cpp
 
#include "StdAfx.h"
#include "Dictionary.h"
 
List^ Dictionary::create_list()
{
    List ^curr = gcnew List;
    curr->beg=nullptr;
    curr->size=0;
    return curr;
}
 
List_item^ Dictionary::new_item()
{
    List_item ^curr = gcnew List_item;
    curr->next=nullptr;
    return curr;
}
Проект - CLR Windows Form

Компилятор ругается:
C++
1
error C3646: 'List_item' : unknown override specifier
Подскажите, пожалуйста, в чем тут соль.
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.04.2009, 18:35
Ответы с готовыми решениями:

Массив структур в классе
Задача состоит в том, что создаётся структура с полями "дело", "время начала", "время окончания" и...

Массив структур в абстрактном классе
Объясните пожалуйста на пальцах, почему возникает ошибка namespace ConsoleApplication3 { ...

Почему-то массив структур в классе не работает
Собственно код компилится, но вылетает в отладчике сообщение! #include <iostream> using namespace...

Использование структур в управляемом классе (класс окна Windows Forms)
Здравствуйте гуру! Появилась проблема в использовании собственных структур в управляемом классе...

6
2809 / 1400 / 107
Регистрация: 07.03.2009
Сообщений: 4,446
03.04.2009, 21:17 2
попробуй так
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
//Dictionary.h
 
#pragma once
 
#include "stdafx.h"
 
class Dictionary
{
private:
        truct List_item
        {
                int key;
                int inf;
                List_item *next;
        };
 
        struct List
        {
                int size;
                List_item *beg;
        };
 
public:
        List* create_list()
        List_item* new_item()
};
 
//Dictionary.cpp
 
#include "StdAfx.h"
#include "Dictionary.h"
 
List* Dictionary::create_list()
{
        List *curr = gcnew List;
        curr->beg=nullptr;
        curr->size=0;
        return curr;
}
 
List_item* Dictionary::new_item()
{
        List_item *curr = gcnew List_item;
        curr->next=nullptr;
        return curr;
}
0
2 / 2 / 0
Регистрация: 03.04.2009
Сообщений: 44
03.04.2009, 21:30  [ТС] 3
Ругается ..

говорит, что
C++
1
error C2371: 'Dictionary::new_item' : redefinition; different basic types
0
2809 / 1400 / 107
Регистрация: 07.03.2009
Сообщений: 4,446
03.04.2009, 22:02 4
естевственно..я допустил пару опечаток.. вот так вот должно

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
//Dictionary.h
 
#pragma once
 
#include "stdafx.h"
 
class Dictionary
{
private:
        struct List_item
        {
                int key;
                int inf;
                List_item *next;
        };
 
        struct List
        {
                int size;
                List_item *beg;
        };
 
public:
        List* create_list();
        List_item* new_item();
};
 
//Dictionary.cpp
 
#include "StdAfx.h"
#include "Dictionary.h"
 
List* Dictionary::create_list()
{
        List *curr = gcnew List;
        curr->beg=nullptr;
        curr->size=0;
        return curr;
}
 
List_item* Dictionary::new_item()
{
        List_item *curr = new List_item;
        curr->next=nullptr;
        return curr;
}
0
2 / 2 / 0
Регистрация: 03.04.2009
Сообщений: 44
03.04.2009, 22:18  [ТС] 5
Да те опечатки я уже заметил. Все равно ту же ошибку выдает. и еще пишет, что не хватает ; перед * и указывает на объявление функции. Не понимаю, откуда она берется эта ошибка
0
2809 / 1400 / 107
Регистрация: 07.03.2009
Сообщений: 4,446
03.04.2009, 22:27 6
ой.. я тупанул... у вас же структура объявлена внутри класса...
поэтому пробуйте так

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
class Dictionary
{
private:
        struct List_item
        {
                int key;
                int inf;
                List_item *next;
        };
 
        struct List
        {
                int size;
                List_item *beg;
        };
 
public:
        List* create_list()
        {
            List *curr = new List;
            curr->beg = nullptr;
            curr->size = 0;
            return curr;
        }
 
        List_item* new_item()
        {
            List_item *curr = new List_item;
            curr->next = nullptr;
            return curr;
        }
};
1
2 / 2 / 0
Регистрация: 03.04.2009
Сообщений: 44
03.04.2009, 22:47  [ТС] 7
Спасибо, теперь работает=)
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.04.2009, 22:47

Несколько асинхронных функций в классе
Ребятушки, я шарпист и я просто фигею от некоторых фич в джаве. Неужели нет возможности сделать две...

Несколько mutable bool в классе
Приветствую. Столкнулся с необъяснимой для меня проблемой. Суть: Есть класс, пусть будет: ...

Несколько пользовательских элементов в одном классе
Вечер добрый, Может кто-то может подсказать, как собрать несколько пользовательских элементов...

Может ли в одном классе быть несколько конструкторов?
Доброго времени суток. Программируя на питоне, возникла потребность создать несколько конструкторов...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru