Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.10.2010, 07:30   #1
RFbager
Пользователь
 
Регистрация: 30.10.2010
Сообщений: 14
По умолчанию VS C++,непонятная ошибка

Доброго времени суток.
Я учусь программированию на С++ в среде VS C++ 2008.Вот код приложения:
Код:
#include "stdafx.h"

using namespace std;

class Student
{
  public:
    Student();
    // ...остальные открытые члены...
  protected:
    int   semesterHours;
    float gpa;
}

Student::Student()
{                                                   // Строка 19
  cout << "Конструируем Student\n";
  semesterHours = 0;
  gpa = 0.0;
}
void fn()
{
  Student s; // создаем и инициализируем объект       // Строка 26
                // ...продолжение функции...
}
int _tmain(int argc, _TCHAR* argv[])
{
	fn();
	return 0;
}
Дойдя до работы с конструкторами,столкнулся с непонятной ошибкой,точнее связкой.Вот как именно их озвучивает компилятор:
Цитата:
studentconstruct.cpp(19) : error C2533: Student::{ctor}: конструкторы не разрешены для возвращаемого типа

studentconstruct.cpp(26) : error C2264: Student::Student: ошибка в определении или объявлении функции; функция не вызвана
При попытке запихнуть конструктор непосредственно в сам класс,получал следующую ошибку:
Цитата:
studentconstruct.cpp(24) : error C2628: недопустимый 'Student' с последующим 'void' (возможно, отсутствует ';')
Здесь он уже ругался на начало функции fn().
После часа упорного мазахизма с google,решил отписаться у вас на форуме.Буду признателен за разъяснения моей криворукости.

Последний раз редактировалось Stilet; 30.10.2010 в 12:23.
RFbager вне форума Ответить с цитированием
Старый 30.10.2010, 09:13   #2
Sam Gold
Форумчанин
 
Аватар для Sam Gold
 
Регистрация: 26.03.2010
Сообщений: 538
По умолчанию

После объявления класса неплохо бы ; поставить
Код:
class Student 
{ 
  public: 
    Student(); 
    
  protected: 
    int   semesterHours; 
    float gpa; 
} ;   //=============!!!!!!

Student::Student() {                                                  
  //=========== actions
  
} 


void fn() 
{ 
 ///=========actions
               
}
Единственный способ стать умнее - играть с более умным противником.
Sam Gold вне форума Ответить с цитированием
Старый 30.10.2010, 09:18   #3
Гром
Старожил
 
Аватар для Гром
 
Регистрация: 21.03.2009
Сообщений: 2,193
По умолчанию

Код:
class Student 
{ 
  public: 
    Student(); 
    // ...остальные открытые члены... 
  protected: 
    int   semesterHours; 
    float gpa; 
};
Вы забыли поставить точку с запятой после объявления класса.

P.S. Блин, пока писал, опередили)
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта
Тема на форуме, посвященная ему же
Гром вне форума Ответить с цитированием
Старый 30.10.2010, 12:22   #4
kaljan775
:D
Форумчанин
 
Аватар для kaljan775
 
Регистрация: 26.09.2010
Сообщений: 570
По умолчанию

я бы чуть изменил

Код:
class Student 
{ 
  public: 
    void Student(void); // это же функция, просто глазу как-то неприятно смотрится 
    // ...остальные открытые члены... 
  private: 
    int   semesterHours; 
    float gpa; 
};

void Student::Student(void) 
{                                                   // Строка 19 
  cout << "Конструируем Student\n"; 
  semesterHours = 0; 
  gpa = 0.0; 
} 
void fn() 
{ 
  Student s; // создаем и инициализируем объект       // Строка 26 
                // ...продолжение функции... 
} 

int main() 
{ 
    fn(); 
    return 0; 
}
Пишу ПО, создаю сайты, делаю курсовые работы, за деньги
C#, .NET, MS SQL, AngularJS, HTML, jQuery
kaljan775 вне форума Ответить с цитированием
Старый 31.10.2010, 03:30   #5
RFbager
Пользователь
 
Регистрация: 30.10.2010
Сообщений: 14
По умолчанию

Огромное всем спасибо,как то заработался
RFbager вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
(СИ)непонятная ошибка. RZMTZM Помощь студентам 7 04.02.2010 02:49
Непонятная ошибка Дырдин Общие вопросы C/C++ 7 14.10.2009 21:30
Непонятная ошибка. program123 Общие вопросы Delphi 12 12.04.2009 23:07
Непонятная ошибка Juri Помощь студентам 6 07.11.2008 19:28
Непонятная ошибка RealSHELS Общие вопросы Delphi 16 24.10.2008 20:49