Форум программистов, компьютерный форум, киберфорум
Наши страницы
C++ Builder
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
Dik-serega
0 / 0 / 0
Регистрация: 15.01.2009
Сообщений: 7
1

Ошибка "неизвестный идентификатор s"

10.02.2009, 22:43. Просмотров 874. Ответов 4
Метки нет (Все метки)

Вынужден снова обратиться за помощью. Вот мой .h файл
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
47
48
#include <Buttons.hpp>
#include <Chart.hpp>
#include <ExtCtrls.hpp>
#include <Grids.hpp>
#include <Series.hpp>
#include <TeEngine.hpp>
#include <TeeProcs.hpp>
//---------------------------------------------------------------------------
class Speed
     {
     private: int sd[10];
     public : int s,k;
void __fastcall putsd(void){sd[k]=s;}
void __fastcall getsd(void){s=sd[k];} };
 
class TForm1 : public TForm
{
__published:    // IDE-managed Components
        TChart *Chart1;
        TPanel *Panel1;
        TStringGrid *StringGrid1;
        TStringGrid *StringGrid2;
        TStringGrid *StringGrid3;
        TStringGrid *StringGrid4;
        TBitBtn *BitBtn1;
        TBitBtn *BitBtn2;
        TBitBtn *BitBtn3;
        TLabel *Label1;
        TLabel *Label2;
        TLabel *Label3;
        TLabel *Label4;
        TLineSeries *Series1;
        void __fastcall BitBtn3Click(TObject *Sender);
        void __fastcall BitBtn2Click(TObject *Sender);
        void __fastcall BitBtn1Click(TObject *Sender);
private:    // User declarations
public:     // User declarations
        __fastcall TForm1(TComponent* Owner);
};
 
 
 
//---------------------------------------------------------------------------
extern PACKAGE TForm1 *Form1;
//---------------------------------------------------------------------------
 
 
#endif
а вот .cpp
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 <vcl.h>
#pragma hdrstop
 
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
class speed{ };
int x;
 
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
/*__fastcall putgetsd( )
{
 
} */
//---------------------------------------------------------------------------
 
void __fastcall TForm1::BitBtn3Click(TObject *Sender)
{
Close( );
}
//---------------------------------------------------------------------------
 
void __fastcall TForm1::BitBtn2Click(TObject *Sender)
{
for (x=0;x<10;x++) { StringGrid1->Cells[0][x]=0;
                     StringGrid2->Cells[0][x]=0;
                     StringGrid3->Cells[0][x]=0;
                     StringGrid4->Cells[0][x]=0; };
}
//---------------------------------------------------------------------------
 
 
void __fastcall TForm1::BitBtn1Click(TObject *Sender)
{
for (x=0;x<10;x++){s=StringGrid1->Cells[0][x];}
}
//---------------------------------------------------------------------------
Проблема такая компилятор выдаёт ошибку "неизвестный идинтификатор 's' " в файле .cpp? Подскажите решение плиз

Добавлено через 2 минуты 54 секунды
ошибка в строке 43
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.02.2009, 22:43
Ответы с готовыми решениями:

Ошибка при компиляции: "E2275 { expected" и "E2040 Declaration terminated incorrectly"
Здравствуйте! При компиляции выдает такую ошибку: C++ Error] Unit1.cpp(12):...

Ошибка при работе с ини файлами когда разделителем является не "=", а ":"
Всем привет. Такая проблема имеются файлы &quot;.ini&quot; в них разделителем является...

ShellExecute. ошибка: аргумент типа "const char*" не совместим с параметром типом "LPCSTWR", Visual Studio 2017
Ребят можете помочь. Знаю, что на форуме полно ответов, но никакой не помогает....

Ошибка " Is not a valid integer value " или " sqrt: DOMAIN error "
Добрый день! Программа должна рассчитать 2-ю диагональ и затем площадь ромба....

Ошибка при использовании OlePropertyGet("Documents").OleProcedure("Add")
При использовании следующего кода: Word =...

4
Фенрир
42 / 38 / 12
Регистрация: 05.01.2009
Сообщений: 394
10.02.2009, 22:46 2
s это поле класса speed
а где объект класса speed или указатель на класс??
0
seravr
1 / 1 / 0
Регистрация: 11.11.2008
Сообщений: 34
10.02.2009, 22:50 3
общий совет-всегда делай элемент-данные класса со спецификатором доступа private
0
Dik-serega
0 / 0 / 0
Регистрация: 15.01.2009
Сообщений: 7
11.02.2009, 16:41  [ТС] 4
мне надо с StringGrid занести в массив для этого я использовал функцию
C++
1
void __fastcall putsd(void){sd[k]=s;}
тагда мне надо было объявить переменную которая будет переносить данные в массив в самой функции?
просто изначально я задумывал s как переменная для переноса данных в массив

Добавлено через 21 минуту 56 секунд
вот так я немного изменил сам класс
C++
1
2
3
4
5
6
7
8
9
class Speed
     {
     private: int sd[10];
     public : speed();
     void __fastcall putsd(void){int s,k; sd[k]=s;}
void __fastcall getsd(void){int s,k; s=sd[k];} };
 
class TForm1 : public TForm
{
тут я добавил конструктор который и будет создавать мой объект

C++
1
2
3
4
5
6
7
8
9
10
#pragma hdrstop
 
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
class speed{ };
speed::speed();
int x;
тепереь ошибка 'speed::speed()' is not a member of 'speed'
0
Lord_Voodoo
Супер-модератор
8609 / 2240 / 133
Регистрация: 07.03.2007
Сообщений: 10,829
Завершенные тесты: 1
11.02.2009, 20:48 5
хидер:
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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
//---------------------------------------------------------------------------
#ifndef Unit1H
#define Unit1H
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include <Buttons.hpp>
#include <Chart.hpp>
#include <ExtCtrls.hpp>
#include <Grids.hpp>
#include <Series.hpp>
#include <TeEngine.hpp>
#include <TeeProcs.hpp>
//---------------------------------------------------------------------------
class PACKAGE TSpeed{
     private:
     int sd[10];
     int __fastcall getsd(int k){
       if(k < 10) return sd[k];
       return 0;
     }
     void __fastcall putsd(int k, int s){
       if(k < 10) sd[k] = s;
     }
     public :
     TSpeed(){
       for(int i = 0; i < 10; i++) sd[i] = 0;
     }
     __property int value[int k] = {read = getsd, write = putsd};
};
class TForm1 : public TForm
{
__published: // IDE-managed Components
        TChart *Chart1;
        TPanel *Panel1;
        TStringGrid *StringGrid1;
        TStringGrid *StringGrid2;
        TStringGrid *StringGrid3;
        TStringGrid *StringGrid4;
        TBitBtn *BitBtn1;
        TBitBtn *BitBtn2;
        TBitBtn *BitBtn3;
        TLabel *Label1;
        TLabel *Label2;
        TLabel *Label3;
        TLabel *Label4;
        TLineSeries *Series1;
        void __fastcall BitBtn3Click(TObject *Sender);
        void __fastcall BitBtn2Click(TObject *Sender);
        void __fastcall BitBtn1Click(TObject *Sender);
private: // User declarations
public:  // User declarations
        __fastcall TForm1(TComponent* Owner);
        TSpeed* speed;
};
//---------------------------------------------------------------------------
extern PACKAGE TForm1 *Form1;
//---------------------------------------------------------------------------
#endif
cpp:
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
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
  speed = new TSpeed();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::BitBtn3Click(TObject *Sender)
{
  Close( );
}
//---------------------------------------------------------------------------
void __fastcall TForm1::BitBtn2Click(TObject *Sender)
{
  for (int x=0;x<10;x++) {
    StringGrid1->Cells[0][x]=0;
    StringGrid2->Cells[0][x]=0;
    StringGrid3->Cells[0][x]=0;
    StringGrid4->Cells[0][x]=0;
  };
}
//---------------------------------------------------------------------------
void __fastcall TForm1::BitBtn1Click(TObject *Sender)
{
  for (int x=0;x<10;x++){
    try{
      speed->value[x] = StrToInt(StringGrid1->Cells[0][x]);
    }catch(...){
      ShowMessage("Input Error");
      speed->value[x] = 0;
    }
  }
}
//---------------------------------------------------------------------------
1
11.02.2009, 20:48
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.02.2009, 20:48

MessageBox - чтобы вместо "Yes" и "No" показывало "Да" и "Нет"
Доброе время суток, как переделать int Key= Application-&gt;MessageBox(L&quot;Text&quot;,...

Синтаксическая ошибка: отсутствие ";" перед "*"
В программе имеются 2 класса: class AI { public: ...... GameObject...

Открыть папку "мой компьютер", "панель управления", "program files"
Нужно открыть папку &quot;мой компьютер&quot;, &quot;панель управления&quot;, &quot;program files&quot;


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

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

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