Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.54/28: Рейтинг темы: голосов - 28, средняя оценка - 4.54
1 / 1 / 3
Регистрация: 09.11.2009
Сообщений: 51
1

[BCC32 Error] Unit1.cpp(45): E2188 Expression syntax

18.06.2010, 11:01. Просмотров 5631. Ответов 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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
float f (float x)
{
//  Stack: TStack2;
TStack *p;
    int i;
    char ch;
    float d, d1, d2;
  {
   //   Stack.Init;
    for (i=1;i<50; i++)
     {
  //          ch=Formula[i];
//    case ch of
     if (Form1->Edit7->Text == 'A')
       _asm push A;
        if (Form1->Edit7->Text == 'B')
         _asm push B;
        if (Form1->Edit7->Text == 'C')
         _asm push C;
        if (Form1->Edit7->Text == 'X')
         _asm push x;
        if (Form1->Edit7->Text == '+')
         {
               d = _asm {pop}+ _asm {pop};
               _asm push d;
         }
 
        if (Form1->Edit7->Text == '-')
         {
               d2=_asm pop;
               d1=_asm pop;
               d=d1-d2;
               _asm push(d);
         }
 
        if (Form1->Edit7->Text == '*')
         {
               d=_asm pop*_asm pop;
               _asm push(d);
             }
        if (Form1->Edit7->Text == '/')
         {
               d2=_asm pop;
               d1=_asm pop;
               d=d1/d2;
               _asm push(d);
             }
        if (Form1->Edit7->Text == '^')
         {
               d2=_asm pop;
               d1=_asm pop;
              // d=Power(d1,d2);
               _asm push(d);
             }
     }
    }
    f=_asm pop;
 
{
  d=(g+t)/2;
  while (abs(t-g)>e)
  {
    if (f(g)*f(d)<0)
      t=d;
    else
      g=d;
    d=(g+t)/2;
  }
  x=(g+t)/2;
 
  Form1->Label3->Caption=FormatFloat("0.###",x);
  Form1->Label4->Caption=FormatFloat("0.####",f(x));
}
return 0;
}
ошибки везде, где _asm pop
вот такие

[BCC32 Error] Unit1.cpp(45): E2188 Expression syntax
Full parser context
Unit1.cpp(23): parsing: float f(float)

Добавлено через 8 часов 21 минуту
помогите пожалуйста.. ОЧЕНЬ СРОЧНО!!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.06.2010, 11:01
Ответы с готовыми решениями:

[BCC32 Error] Unit1.cpp(32): E2451 Undefined symbol 'rowc'
вот сам код: #include &lt;vcl.h&gt; #pragma hdrstop #include &quot;Unit1.h&quot; ...

[BCC32 Error] Unit10.cpp(20): E2141 Declaration syntax error
void __fastcall TForm10::Button1Click(TObject *Sender) { double plosa(float r,int k,float h) ...

[bcc32 Error] Unit1.cpp(46): E2288 Pointer to structure required on left side of -> or ->*
void __fastcall TForm1::Button2Click(TObject *Sender) { for(int j=1;j&lt;StringGrid2-&gt;ColCount;j++)...

Устранить ошибку !! [C++ Error] Unit1.cpp(26): E2141 Declaration syntax error
//--------------------------------------------------------------------------- #include &lt;vcl.h&gt;...

4
1447 / 355 / 61
Регистрация: 03.04.2010
Сообщений: 2,098
18.06.2010, 13:10 2
Пиши не
if (Form1->Edit7->Text == 'B')
а вот так
if (Form1->Edit7->Text == "B")
если я не ошибаюсь
0
1 / 1 / 3
Регистрация: 09.11.2009
Сообщений: 51
18.06.2010, 19:56  [ТС] 3
ошибка не в этом.. ошибка в этой строчке

C++
1
d = _asm {pop}+ _asm {pop};
Добавлено через 34 секунды
я пробовал и так
C++
1
d = _asm pop + _asm pop;
всеравно ошибка..
0
0 / 0 / 0
Регистрация: 25.05.2013
Сообщений: 8
28.05.2013, 08:11 4
Цитата Сообщение от toni90 Посмотреть сообщение
я пробовал и так
Код C++
1
d = _asm pop + _asm pop;
а попробуй в круглых кавычках
0
LK
Заблокирован
28.05.2013, 08:54 5
ассемблерная вставка сделана правильно:
C++
1
2
3
_asm {
  // ассемблер
}
Цитата Сообщение от FanyLose Посмотреть сообщение
а попробуй в круглых кавычках
угу, еще в квадратных можно...

pop — Pop stack
The pop instruction removes the 4-byte data element from the top of the hardware-supported stack into the specified operand (i.e. register or memory location). It first moves the 4 bytes located at memory location [SP] into the specified register or memory location, and then increments SP by 4.

Syntax
Assembler
1
2
pop <reg32>
pop <mem>
Examples
Assembler
1
pop edi
— pop the top element of the stack into EDI.
Assembler
1
pop [ebx]
— pop the top element of the stack into memory at the four bytes starting at location EBX.
вот вам и
Цитата Сообщение от toni90 Посмотреть сообщение
[BCC32 Error] Unit1.cpp(45): E2188 Expression syntax
Также вызывает умиление смысл, логика и цель использования асма.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.05.2013, 08:54

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

[C++ Error] Unit1.cpp(12): E2141 Declaration syntax error
Здравствуйте! Это моя первая тема, поэтому простите за ошибки и неточности. Суть вопроса в том,...

[C++ Error] Unit1.cpp(25): E2141 Declaration syntax error
Борланд ругается на неправильный синтаксис в этом куске программы void __fastcall...

Ругается [BCC32 Error] Unit1.cpp(35): E2015 Ambiguity between 'fmCreate' and 'Classes::fmCreate'
TFileStream* f = new TFileStream(&quot;lol.exe&quot;, fmCreate|fmOpenWrite);...

C++ Builder RAD Studio 10 E2188 Expression syntax
Здравствуйте. Только недавно начала программировать и столкнулась с проблемой. Запускала программу,...


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

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

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