реклама на сайте
подробности

 
 
> Не могу нормально пользовать класс, После создания класса не получается до него достучатся
Andryha
сообщение May 24 2008, 16:43
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 34
Регистрация: 6-04-07
Пользователь №: 26 805



Доброго времнеи суток. Помогите ламеру разобрться с иаром.
Значит проблема такая, определяю класс, как показано ниже:

class _COM_Klass {

public:
_COM_Klass();

void Send_String_to_COM0 (const char *index, short int size){
}

void Send_To_COM0 (void){
}
}COM_Klass;


COM_Klass.Send_To_COM0();

при компиляции выскакивают ошибки на строке COM_Klass.Send_To_COM0(); :
Error[Pe077]: this declaration has no storage class or type specifier
Error[Pe247]: variable "COM_Klass" has already been defined
Error[Pe065]: expected a ";"

Юзаю иар 4.31

Мозг уже по швам smile3046.gif , что это может быть, вроде все правильно, в вижуале тоже самое писал.... работает... подозрения падают на настройки компилятора, хотя в опциях везде стоит с++. Помогите плиз. хочу классы освоить
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Сергей Борщ
сообщение May 24 2008, 17:39
Сообщение #2


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(Andryha @ May 24 2008, 19:43) *
Помогите плиз. хочу классы освоить
Если хотите освоить - надо начать с какого-нибудь букваря по С++.

Для кода в форме ввода есть специальная кнопка с символом "#".
Код
//Описываем функцию-член
void _COM_Klass::Send_To_COM0 (void)
{
};
// объявляем объект (экземпляр класса).
_COM_Klass COM_Object;

void Test()
{
    //вызываем функцию-член этого объекта
    COM_Object.Send_To_COM0();
}
И не используйте подчеркивания перед именами - такая форма зарезервирована за компилятором.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
Andryha
сообщение May 24 2008, 17:57
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 34
Регистрация: 6-04-07
Пользователь №: 26 805



За скорый ответ спасибо. Сделал все так, как вы советовали... не помогает... набор ошибок, выдаваемых компилятором аналогичный... вообще, складывается ощущение, будто иар отказывается понимать классы, хотя галочка с++ стоит. help.gif
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение May 24 2008, 19:29
Сообщение #4


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(Andryha @ May 24 2008, 20:57) *
вообще, складывается ощущение, будто иар отказывается понимать классы, хотя галочка с++ стоит.
Иар классы понимает. Это я вам гарантирую, потому что сам его использую именно с классами. Обратите внимание, что в объявлении класса вы указали Send_To_COM0 с параметрами, а в определении - нет. И кто в этом виноват - вы или компилятор?



Очень извиняюсь, ваш текст без форматирования совершенно нечитаем. Вроде все у вас правильно - вы определили функции прямо в определении класса. А где стоит галочка С++? Я ставлю галочку "автоматически определять по расширению" и файлам даю расширение cpp

Попробуйте вот такой элементарный пример:
Код
class a_t
{
public:
   inline a_t(int a) : a(a), b(88) {}
   int a;
   int b;
};
a_t a(6), b(33);


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 21:09
Рейтинг@Mail.ru


Страница сгенерированна за 0.01451 секунд с 7
ELECTRONIX ©2004-2016