Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
elloun
0 / 0 / 0
Регистрация: 04.06.2015
Сообщений: 8
#1

Исправить ошибки в коде (классы) - C++

22.12.2015, 13:51. Просмотров 176. Ответов 5
Метки нет (Все метки)

есть написанный класс
C++
1
2
3
4
5
6
7
8
9
10
class student
{
protected:
    char registration_num[6];
    char name[20];
    char stbook_ID[6];
    int token;
public:
    student(){};
    ~student(){};
в ".h" файле затем мне необходима эта переменная
C++
1
student st;
в другом ".h" файле, файлы подключены

выбивает ошибки
C++
1
2
Ошибка  37  error C2011: student: переопределение типа "class"  
Ошибка  1   error C2146: синтаксическая ошибка: отсутствие ";" перед идентификатором "st"
что делать??
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.12.2015, 13:51
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Исправить ошибки в коде (классы) (C++):

Шаблонные классы: найти и исправить ошибки в коде - C++
Разбираюсь тут с шаблонами, вроде сделал все как в работающей программе, но не компилируется #include "stdafx.h" #include "stdio.h" ...

Найти причины возникновения ошибок в коде и исправить эти ошибки (классы, алгоритм сортировки) - C++
Привет. Начинаю изучать работу классов и на примере алгоритмов сортировки использую классы. Программа компилируется, но ругается на вывод...

Найти ошибки в коде и исправить эти ошибки (Наследование) - C++
Вот в общем 3 файла, изучаю наследование на примере односвязного и двусвязного списков: list.h (inline) #pragma once class list...

Найти ошибки в коде и исправить эти ошибки - C++
Есть у меня вот такой код: #include <iostream> using namespace std; class A{ private: int* a; size_t size_; ...

Найти ошибки в коде и исправить эти ошибки - C++ - C++
Судя по вываливающейся ошибки, идет двойное освобождение памяти. У самого не получается отловить откуда. A.h #pragma once ...

Классы (исправить ошибки) - C++
Исправьте пожалуйста 2 ошибки. Ничего более не надо, просто исправьте. (ошибки в 90 и 92 строке) #include <iostream.h> ...

5
Ipshin
0 / 0 / 0
Регистрация: 02.08.2015
Сообщений: 6
22.12.2015, 13:55 #2
В .h файле переменная объявяется как
Student *st;

А затем либо инициализируется как st = new Student(); либо передается в конструкторе или сеттере.
0
elloun
0 / 0 / 0
Регистрация: 04.06.2015
Сообщений: 8
22.12.2015, 14:00  [ТС] #3
в этом и проблема что мне инициализировать её не надо, потому что дальше мне надо использова st в функциях
C++
1
file_stream_student.write((char*)&st, sizeof(student));
0
Ipshin
0 / 0 / 0
Регистрация: 02.08.2015
Сообщений: 6
22.12.2015, 14:12 #4
Чтобы использовать созданный объект его в любом случае нужно будет инициализировать, хоть статически, хоть динамически (через new).
file_stream_student.write(st->getName(), sizeof(*st));
0
Hikari
Хитрая блондиночка $)
1451 / 960 / 284
Регистрация: 21.12.2015
Сообщений: 3,785
22.12.2015, 14:18 #5
В .h файле переменная объявяется как
Student *st;
С маленькой. Си регистрозависим.
student: переопределение типа "class"
Тебе стоит полностью все выложить. Где-то чего-то забыл написать, или лишнего написал.
0
elloun
0 / 0 / 0
Регистрация: 04.06.2015
Сообщений: 8
22.12.2015, 14:55  [ТС] #6
это "student.h"
C++
1
2
3
4
5
6
7
8
9
10
11
class student
{
protected:
    char registration_num[6];
    char name[20];
    char stbook_ID[6];
    int token;
public:
    student(){};
    ~student(){};
}
это "fun.h"
вот объявление перед функцией
C++
1
2
fstream file_stream_student;
student st;
вот функция
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
void write_student()
{
    char ch;
    file_stream_student.open("student.dat", ios::out | ios::app);
    do
    {
        st.create_student();
        file_stream_student.write((char*)&st, sizeof(student));
        cout << "\n\nХотите добавить ещё запись..(y / n ? )";
        cin >> ch;
    } while (ch == 'y' || ch == 'Y');
    file_stream_student.close();
}
Добавлено через 2 минуты
не могли бы вы мне помочь, выше написан кусок кода
0
22.12.2015, 14:55
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.12.2015, 14:55
Привет! Вот еще темы с ответами:

исправить ошибки в коде - C++
Помогите и исправьте ошибки в моём коде. Буду очень благодарен. Ссылка на условие задачи: ...

Исправить ошибки в коде - C++
#include &lt;iostream&gt; using namespace std; int main() { int n; int i; int e = 0; int l = 0;

Исправить ошибки в коде - C++
#include &lt;iostream&gt; using namespace std; static const int N = 100;//Размер обычного массива можно определить константой int main()...

Исправить ошибки в коде - C++
Условие задачи: в файле находятся вещественные числа. Определить количество чисел в наиболее длинной возрастающей последовательности...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru