Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.99/67: Рейтинг темы: голосов - 67, средняя оценка - 4.99
0 / 0 / 0
Регистрация: 06.06.2016
Сообщений: 47

Expected unqualified-id before 'for'

20.07.2016, 22:27. Показов 14281. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Много раз пользовался конструкцией for, но что-то пошло не так
C++
1
2
3
4
5
GRAPH* graph[8];     //создаем массив указателей на объекты в куче
for(int i=0; i<8; i++)//expected unqualified-id before 'for' и до кучи 'i' does not name a type
{
  graph[i] = new GRAPH(i*50, DefaultPen, DefaultPen);
}
что происходит?
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
20.07.2016, 22:27
Ответы с готовыми решениями:

Expected unqualified-id before 'while'
#include&lt;iostream&gt; #include&lt;cmath&gt; #include&lt;math.h&gt; using namespace std; int main () { int Sum=0,i=0; }

Expected unqualified-id before 'while'
#include&lt;iostream&gt; #include&lt;cmath&gt; #include&lt;math.h&gt; using namespace std; int main () { int Sum=0,i=0; }

Expected unqualified-id before 'switch'
Привет, почему вылезает данная ошибка? Говорят проблема со скобками. using namespace std; #include&lt;iostream&gt; ...

7
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
20.07.2016, 22:31
Ошибка где-то выше.
0
0 / 0 / 0
Регистрация: 06.06.2016
Сообщений: 47
20.07.2016, 23:36  [ТС]
Хм, тогда вот так
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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
#include <windows.h>
 
 
WNDCLASSEX tr;        // Класс окна графиков
PAINTSTRUCT trps;     //структура рисования графиков
HWND hTrWnd;          // Дескриптор окна графиков
HRGN hrgn;
char trClassName[] = "TrClass"; //имя класса окна графиков
 
int TrendWnd_lx, TrendWnd_ly, TrendWnd_rx, TrendWnd_ry;
int sx, sy;
 
HPEN TrendLinePen[8];
for(int i=0; i<8; i++)
{
  TrendLinePen[i]=CreatePen(PS_SOLID, 1, RGB(250/i, i*15, i*30))
}
 
HPEN ZeroLinePen[8]
for(int i=0; i<8; i++)
{
  ZeroLinePen[i]=CreatePen(PS_SOLID, 1, RGB(i, i*2, i*4))
}
 
static HPEN DefaultPen = CreatePen(PS_SOLID, 1, RGB(0, 0, 0));
static HPEN RectanglePen = CreatePen(PS_SOLID, 4, RGB(0, 0, 0));
static HPEN HorisontalLinePen = CreatePen(PS_DOT, 1, RGB(0, 0, 0));
static HPEN VerticalLinePen = CreatePen(PS_DOT, 1, RGB(0, 0, 0));
 
class GRAPH
{
  public:
     GRAPH();
     GRAPH(int ZeroPoint, HPEN Z_Pen, HPEN L_Pen);
     ~GRAPH();
     void SetZeroPoint(int ZeroPoint){zPoint = TrendWnd_ry + ZeroPoint;} //установка 0 графика по Y
     int  GetZeroPoint(void){return zPoint;}                             //получить нулевую точку
     void SetZeroLinePen(HPEN Pen){ZeroLinePen = Pen;}                   //
     void SetLinePen(HPEN Pen){LinePen = Pen;}                           //
     void SetLinePoint(int xL_Point, int yL_Point){xPoint = xL_Point; yPoint = yL_Point;}//
     void StartPoint(void){MoveToEx(hdc, TrendWnd_lx, zPoint, NULL);}    //
     void DrawLine(int xLinePoint, int yLinePoint);                      //
     void PutZeroLine(void);                                             //
  private:
     HPEN ZeroLinePen;
     HPEN LinePen;
     int zPoint;
     int xPoint;
     int yPoint;
};
 
GRAPH::GRAPH()
{
   ZeroLinePen = DefaultPen;
   LinePen = DefaultPen;
   zPoint = 0;
   xPoint = 0;
   yPoint = 0;
}
 
GRAPH::GRAPH(int ZeroPoint, HPEN Z_Pen, HPEN L_Pen)
{
  SetZeroPoint(ZeroPoint);
  ZeroLinePen = Z_Pen;
  yPoint = zPoint;
  LinePen = L_Pen;
}
 
GRAPH::~GRAPH()
{
  delete  ZeroLinePen;
  delete  LinePen;
}
 
void GRAPH::PutZeroLine(void)//рисуем нулевую линию
{
  SelectObject(hdc, ZeroLinePen);
  MoveToEx(hdc, TrendWnd_lx, zPoint, NULL);
  LineTo(hdc, TrendWnd_rx, zPoint);
  SelectObject(hdc, LinePen);
  MoveToEx(hdc, TrendWnd_lx, zPoint, NULL);
}
 
void GRAPH::DrawLine(int xLinePoint, int yLinePoint)
{
   int x, y;
   SelectObject(hdc, LinePen);
   StartPoint();
   for(x=TrendWnd_lx, y=zPoint; x<TrendWnd_rx; x+=10, y+=2)
   {
      LineTo(hdc, x, y);
   }
}
Добавлено через 51 секунду
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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
GRAPH* graph[8];
for(int i=0; i<8; i++)
{
  graph[i] = new GRAPH(i*50, DefaultPen, DefaultPen);
}
 
struct trend    //структура для хранения показаний 8 АЦП
{
   char graph1;
   char graph2;
   char graph3;
   char graph4;
   char graph5;
   char graph6;
   char graph7;
   char graph8;
};
 
struct voltage  //структура для хранения установок 3 ШИМ
{
   char vol1;
   char vol2;
   char vol3;
};
//-----------------------------------------------------------------------------------------
 
int InitWindow(int sx, int sy);
ATOM MyRegisterChildClass();
void Marker(LONG x, LONG y, HWND hTrWnd);
LRESULT CALLBACK TrGraphProc(HWND, UINT, WPARAM, LPARAM);
 
 
 
ATOM MyRegisterChildClass()
    {// Заполняем структуру класса окна
       tr.cbSize = sizeof(tr);
       tr.style = CS_HREDRAW | CS_VREDRAW;// Стили класса, в данном случае - окна этого класса будут перерисовываться при изменении размеров по вертикали и горизонтали
       tr.lpfnWndProc = TrGraphProc;// Указатель на функцию, обрабатывающую оконные сообщения
       tr.cbClsExtra = 0;        // Нет дополнительных данных класса 
       tr.cbWndExtra = 0;        // Нет дополнительных данных окна
       tr.hInstance = hInstance; // дескриптор приложения, который регистрирует класс
       tr.hIcon = LoadIcon(NULL, IDI_APPLICATION); // Стандартная иконка
       tr.hCursor = LoadCursor(NULL, IDC_CROSS);   //курсор - перекрестие
       tr.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH);// Цвет фона рабочей области окна
       tr.lpszMenuName = NULL;   // Нет меню
       tr.lpszClassName = "TrClass"; // Имя класса окна
       tr.hIconSm = LoadIcon(NULL, IDI_APPLICATION);
       return RegisterClassEx(&tr);
    }
 
//--------------------------------------------------------------------------------------------------------------------------------------------  
    
int InitWindow(int sx, int sy)
{  
   int x, y;
   TrendWnd_lx = 0;
   TrendWnd_ly = 0;
   TrendWnd_rx = sx;
   TrendWnd_ry = -sy;
 
   hbrush = CreateSolidBrush(RGB(255, 255, 255));
   
   SetMapMode(hdc, MM_ISOTROPIC);//текущий режим отображения 
   SetViewportExtEx(hdc, sx, sy, NULL);     //физический размер области экрана в пикселах
   SetWindowExtEx(hdc,  sx, sy, NULL);      //логические размеры окна в пикселах
   
   SelectObject(hdc, hbrush);
   SelectObject(hdc, RectanglePen);
   Rectangle(hdc, TrendWnd_lx, TrendWnd_ly, TrendWnd_rx, TrendWnd_ry);
   for (x = TrendWnd_lx; x < TrendWnd_rx; x += (TrendWnd_rx/10))//чертим вертикальные линии
   {
      SelectObject(hdc, VerticalLinePen);
      MoveToEx(hdc, x, TrendWnd_ly, NULL);
      LineTo(hdc, x, -TrendWnd_ry);
   }
   for (y = TrendWnd_ly; y < -TrendWnd_ry; y += ((-TrendWnd_ry)/10))//чертим горизонтальные линии
   {
      SelectObject(hdc, HorisontalLinePen);
      MoveToEx(hdc, TrendWnd_lx, y, NULL);
      LineTo(hdc, TrendWnd_rx, y);
   }
   SelectObject(hdc, hbrush);
   
   SetWindowExtEx(hdc,  sx, -sy, NULL);      //логические размеры окна в пикселах, ось Y вверх
   ///////////////////////////
   for(int i = 0; i<8; i++)
   {
     graph[i]->DrawLine(400, 444);
   }
   ///////////////////////////
 
}
0
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
20.07.2016, 23:38
Лучший ответ Сообщение было отмечено Lincer как решение

Решение

Это стоит над циклом, что ли? Он не может быть вне функции.
1
0 / 0 / 0
Регистрация: 06.06.2016
Сообщений: 47
20.07.2016, 23:42  [ТС]
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
LRESULT CALLBACK TrGraphProc(HWND hTrWnd, UINT msg, WPARAM wParam, LPARAM lParam )
{
   trend myTrend;
   voltage myVoltage;
   int nCmdShow;
   switch (msg) 
    {
        case WM_CREATE:
                { 
            ShowWindow(hTrWnd, nCmdShow);
                UpdateWindow(hTrWnd);
            sx = LOWORD(lParam); //ширина окна
            sy = HIWORD(lParam); //высота окна
            break;
        }
                case WM_PAINT:
        {
            hdc=BeginPaint(hTrWnd, &trps); 
            InitWindow(810, 440);                                  //рисуем рамку окна тренда
                    EndPaint(hTrWnd, &trps);
            break;
                 }
        
        case WM_CLOSE:
            DestroyWindow(hTrWnd);
            break;
 
        case WM_DESTROY:
                DeleteObject(RectanglePen);
                        DeleteObject(HorisontalLinePen);
                DeleteObject(VerticalLinePen);
                        DeleteObject(hbrush);
            PostQuitMessage(0);
            break;      
            
        case WM_KEYDOWN:
            switch(wParam) 
            {
                case VK_ESCAPE:                 
                    SendMessage(hTrWnd, WM_CLOSE, 0, 0);
                    break;
            }
            break;
        
        default:return DefWindowProc(hTrWnd, msg, wParam, lParam);break;
    }
}
Добавлено через 2 минуты
for должен быть внутри функции? Зачем, это ведь просто цикл?
0
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
20.07.2016, 23:45
Lincer, ну ты даёшь. А в какой момент он выполняться будет? Либо внутри main(), либо в другой функции.
1
Эксперт С++
4986 / 3093 / 456
Регистрация: 10.11.2010
Сообщений: 11,170
Записей в блоге: 10
21.07.2016, 08:49
Нет точек с запятой в 16-й, 19-й и 22-й строках.
0
0 / 0 / 0
Регистрация: 06.06.2016
Сообщений: 47
21.07.2016, 08:50  [ТС]
Ясно с проблемой разобрался
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
21.07.2016, 08:50
Помогаю со студенческими работами здесь

Error: expected unqualified-id before 'do'
какая у меня ошибка? include &lt;iostream&gt; #include &lt;cstdlib&gt; #include &lt;ctime&gt; using namespace std; int main() { ...

Expected unqualified-id before '{' , '(' token
Не пойму что не так... #include &lt;iostream&gt; using namespace std; class University; {private: char rectorate; char faculty ; ...

Ошибка Expected unqualified-id before
Здравствуйте. Появилась ошибка в коде Expected unqualified-id before 'using' и Expected unqualified-id before '{' token. В чем проблема? ...

Expected unqualified-id before '<' token
Решил задачу, на компьютере не было ни ошибок, ни предупреждений. а когда сдал на сайт высветилась ошибка expected unqualified-id before...

Expected unqualified-id before '{' token
#include &lt;QCoreApplication&gt; #include &lt;iostream&gt; #include &lt;math.h&gt; using namespace std; float func(float x); { float...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка. Рецензия / Мнение/ Перевод https:/ / **********/ gallery/ thinkpad-x220-tablet-porn-gzoEAjs . . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru