Форум программистов, компьютерный форум, киберфорум
C++/CLI
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/9: Рейтинг темы: голосов - 9, средняя оценка - 4.67
0 / 0 / 2
Регистрация: 25.10.2012
Сообщений: 248

Ошибки в C++/CLI - syntax error : missing ';' before '^'

24.12.2013, 19:34. Показов 1888. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Данные ошибки в строке - (Refill ^refill,как правильно объявить?Т.к. строкой выше никаких ошибок не находит.

error C2143: syntax error : missing ';' before '^'
error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
error C4430: missing type specifier - int assumed. Note: C++ does not support default-int

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
namespace KURSOVAYA
{
 
    delegate void delEv(void);
 
    ref class Car //класс машины
    {
   public: 
       event delEv ^ev;
   private:
        int num; //номер машины
        int speed; //скорость машины
        int r; //радиус кольца
        String ^name; //имя машины
        int x, y; //текущая позиция машины
        bool great, life; //жизнь потока - признак движения по большому/малому кругу
        Thread ^t1; //поток
        bool run;
        bool moving;
        int indikator, max_indikator; //индикатор наполнения бензобака
    public:
        ArrayList ^aL;
    private:
        Refill ^refill;
        int i;
        int fuel;
        int maxFuel;
        bool eat;
        int dx, dy;
Добавлено через 1 час 49 минут
Делаю в VS 2005.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
24.12.2013, 19:34
Ответы с готовыми решениями:

Ошибки при вызове форм - Syntax error
Visual C++ Пытаюсь подключить одну форму к другой и наоборот. Вот что выходит: 1) Если в первой форме: #include...

Error C2061: syntax error : identifier 'cout' что делать?
Помогите бедному студенту) Программа (по задумке) должна читать среднее арифметическое цифр числа, введённого с клавиатуры. Но, к...

Непонятная ошибка компилятора "error C2059: syntax error 'constant'"
есть класс public ref class Form2 : public System:: Windows:: Forms:: Form { public: System:: String^ s; public: ...

8
Комп_Оратор)
Эксперт по математике/физике
 Аватар для IGPIGP
9006 / 4707 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
24.12.2013, 20:46
Цитата Сообщение от Максим1488 Посмотреть сообщение
Refill ^refill;
Компилятору не известен тип Refill^.
Не подключили файл или библиотеку определения этого типа?
0
0 / 0 / 2
Регистрация: 25.10.2012
Сообщений: 248
24.12.2013, 20:57  [ТС]
Прописана отдельным классом и объявлена в Car().

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
public: 
        Car(int N, String ^Name, int X, int Y, bool greatNew, Refill ^R)
        {
            num = N;
            name = Name;
            speed = 2;
            x = X;
            y = Y;
            great = greatNew;
            run = false;
            life = false;
            moving = false;
            refill = R;
            maxFuel = 100;
            fuel = maxFuel;
            eat = false;
            Start();//  
        }
 
ref class Refill
    {
    private: int x, y;
    property int X {int get() { return x; } }
    property int Y {int get() { return y; } }
 
    public: Refill(int X, int Y)
        { x = X; y = Y; }
    };
0
Комп_Оратор)
Эксперт по математике/физике
 Аватар для IGPIGP
9006 / 4707 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
24.12.2013, 21:02
Цитата Сообщение от Максим1488 Посмотреть сообщение
Прописана отдельным классом
Думаете нужно её прописать? Лучше определите её до класса Car, чтобы ему её (если это она) было видно. Переменную нельзя объявить до определения типа. Поменяйте классы местами, другими словами.
1
0 / 0 / 2
Регистрация: 25.10.2012
Сообщений: 248
24.12.2013, 21:06  [ТС]
error C3861: 'lock': identifier not found
error C2065: 'null' : undeclared identifier
error C2143: syntax error : missing ';' before '{'

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
void Move()        //движение
        {
 
            while (life)
            {
                counter++;
                if (great) OnCirclebigroad();
                if (!great) OnCirclesmallroad();
                if (ev != null)
                    ev();
                Thread::Sleep(100);
                lock (this)
                {
                    if (moving)
                        Monitor::Wait(this);
                }
            }
        }
0
Комп_Оратор)
Эксперт по математике/физике
 Аватар для IGPIGP
9006 / 4707 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
24.12.2013, 23:22
Это не C# Максим1488, null -> nullptr
lock это тип. Подключите <msclr/lock.h> и создайте переменную типа. Лучше читать в msdn такие вещи.
1
0 / 0 / 2
Регистрация: 25.10.2012
Сообщений: 248
24.12.2013, 23:45  [ТС]
Переменной какого типа будет являться lock?
0
Комп_Оратор)
Эксперт по математике/физике
 Аватар для IGPIGP
9006 / 4707 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
25.12.2013, 00:52
Это класс, то есть вопрос аналогичен "Переменной какого типа будет являться int":
http://msdn.microsoft.com/en-u... 77086.aspx
в C# есть ключевое слово открывающее критическую секцию. В C++/cli такого нет.
1
0 / 0 / 2
Регистрация: 25.10.2012
Сообщений: 248
25.12.2013, 16:06  [ТС]
error C3845: 'KURSOVAYA::Cars::_carsCount': only static data members can be initialized inside a ref class or value type (6 строка)
error C3767: 'KURSOVAYA::Refill::X::get': candidate function(s) not accessible (44 строка)
error C3767: 'KURSOVAYA::Refill::Y::get': candidate function(s) not accessible (44 строка)

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
ref class Cars : Form
    {
    public: 
        ArrayList ^aL;
        int n;
        int _carsCount = 2; //  кол-во машин (начальное значение 2 )
    private: 
        Refill ^refill;
 
    public: Cars()
        {
            refill = gcnew Refill(370, 100);
        }
 
     void Start()          // Стартовать
        {
            for (int i = 0; i < aL->Count; i++)
            {
                dynamic_cast<Car^>(aL[i])->Start();
            }
        }
     void Suspend()     // Возобновить
        {
            for (int i = 0; i < aL->Count; i++)
            {
                dynamic_cast<Car^>(aL[i])->Suspend();
            }
 
        }
 
     void Resume()      // Приостановить
        {
            for (int i = 0; i < aL->Count; i++)
            {
                dynamic_cast<Car^>(aL[i])->Resume();
            }
        }
 
virtual void OnPaint(PaintEventArgs ^e) override //рисование
        {
 
            e->Graphics->DrawEllipse(gcnew Pen(Color::Black, 40), 20, 20, 320, 320);
            e->Graphics->DrawEllipse(gcnew Pen(Color::Black, 40), 65, 65, 230, 230);
            e->Graphics->FillRectangle(gcnew SolidBrush(Color::Brown), refill->X, refill->Y, 70, 170);
            for (int i = 0; i < aL->Count; i++)
            {
                //рисование машины
                e->Graphics->DrawRectangle(gcnew Pen(Color::Red, 4), dynamic_cast<Car^>(aL[i])->X, dynamic_cast<Car^>(aL[i])->Y, 20, 20);
                e->Graphics->DrawString(dynamic_cast<Car^>(aL[i])->N.ToString(), Font, gcnew SolidBrush(Color::White), dynamic_cast<Car^>(aL[i])->X + 4, dynamic_cast<Car^>(aL[i])->Y + 4);
            }
        }
       /* protected override void OnClosed(EventArgs ^e) //закрытие
        {
            //for (int i = 0; i < aL.Count; i++) 
            // aL[i].Finish();
 
        }*/
    };
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
25.12.2013, 16:06
Помогаю со студенческими работами здесь

Ошибки компилятора Syntax error:missing ')' before 'constant'
Здрасте уважаемые Гуру! Пытаюсь компилировать код и никак немогу понять что ж хочет от меня компилятор(VC 6.0) #include...

Программа учета покупок - Error C2143: syntax error: missing ';' before 'type'
Нужно написать программу учёта покупок (название и цена товара) в магазине, данные хранить в массиве структур. При компиляции выдаёт error...

Ошибка error C2146: syntax error : missing ';' before identifier 'alph'
Не получается откомпилировать прогу из консоля в MFC, выбивает ошибку error C2146: syntax error : missing ';' before identifier 'alph' ...

Syntax error : missing ')' before ';'
пишу программу подсчета значения функции, вроде уже везде где надо поставила скобочки, ковычки и завершающие ; пишет ошибку syntax error...

Ошибка в тестовом примере: "Error 1 error C2143: syntax error : missing ';' before 'if'"
#include&lt;iostream&gt; using namespace std; int main(){ int x, a = 0, b = 10; (cin &gt;&gt; x).get(); while (x){ int c = x % 10; ...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru