Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.72/47: Рейтинг темы: голосов - 47, средняя оценка - 4.72
99 / 70 / 13
Регистрация: 15.12.2013
Сообщений: 455
1

Error C2059: Синтаксическая ошибка: тип

15.07.2014, 01:15. Показов 9510. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Вот отрывок кода, указывает, что ошибка на 5ой и 16ой строке, то есть функция min и max.

ошибка:
1>c:\users\андрей\documents\visual studio 2010\projects\sb\sb\data.c(5): error C2059: синтаксическая ошибка: тип
1>c:\users\андрей\documents\visual studio 2010\projects\sb\sb\data.c(16): error C2059: синтаксическая ошибка: тип

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
static int min(int a, int b)
{
    return a < b ? a : b;
}
 
static int minCoord(int Coord[4])
{
    int minimalCoord1 = min(Coord[0], Coord[1]), minimalCoord2 = min(Coord[2], Coord[3]);
    return minimalCoord1 < minimalCoord2 ? minimalCoord1 - 1 : minimalCoord2 - 1;
}
 
static int max(int a, int b)
{
    return a > b ? a : b;
}
 
static int maxCoord(int Coord[4])
{
    int maxCoord1 = max(Coord[0], Coord[1]), maxCoord2 = max(Coord[2], Coord[3]);
    return maxCoord1 > maxCoord2 ? maxCoord1 - 1 : maxCoord2 - 1;
}
а вот полный код:

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
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
#include <stdio.h>
#include <stdlib.h>
#include "data.h"
 
static int min(int a, int b)
{
    return a < b ? a : b;
}
 
static int minCoord(int Coord[4])
{
    int minimalCoord1 = min(Coord[0], Coord[1]), minimalCoord2 = min(Coord[2], Coord[3]);
    return minimalCoord1 < minimalCoord2 ? minimalCoord1 - 1 : minimalCoord2 - 1;
}
 
static int max(int a, int b)
{
    return a > b ? a : b;
}
 
static int maxCoord(int Coord[4])
{
    int maxCoord1 = max(Coord[0], Coord[1]), maxCoord2 = max(Coord[2], Coord[3]);
    return maxCoord1 > maxCoord2 ? maxCoord1 - 1 : maxCoord2 - 1;
}
 
 
int PositionShips(int string[4], int column[4], int Arr[][10])
{
    register int i, freeCell, lenShip, zone;
 
    // Если корабль однопалубный
 
    if( !column[1] && !string[1] )
    {
        if( !Arr[string[0] - 1][column[0] - 1])
        {
            Arr[(string[0] - 1)][(column[0] - 1)] = 1;
 
            // Выставляем запретную зону для расстановки кораблей вблизи только что установленного.
        
            for( i = 2; i >= 0; i-- )
                for( freeCell = 2; freeCell >= 0; freeCell-- )
                    if( Arr[( string[0] - i )][(column[0] - freeCell)] != 1 )
                        Arr[( string[0] - i )][(column[0] - freeCell)] = -1;
            return 1;
        }
        // ..........................
    }
 
    // #############################
 
    // Если корабль вертикальный
 
    if( column[0] && !column[1] )
    {
        // Проверка длины корабля
 
        lenShip = 0;
        while(string[lenShip]) lenShip++;
 
        for( i = 0, freeCell = 0; i < 4; i++ )
        {
            if( !Arr[ ( string[i] - 1 ) ][ ( column[0] - 1 ) ] ) freeCell++;
        }
 
        if( freeCell == lenShip)
        {
            for( i = 0; i < 4; i++ ) Arr[ ( string[i] - 1 ) ][ ( column[0] - 1 ) ] = 1;
 
            // Выставляем запретную зону для расстановки кораблей вблизи только что установленного.
 
 
            for(i = 0; i < lenShip; i++)
                for(freeCell = 0; freeCell <= 2; freeCell++)
                    if(Arr[string[i] - 1][column[0] - freeCell] != 1)
                        Arr[string[i] - 1][column[0] - freeCell] = -1;
 
            for(i = 0; i < 3; i++)
                Arr[minCoord(string) - 1][column[0] - freeCell] = -1;
 
            for(i = 0; i < 3; i++)
                Arr[maxCoord(string)][column[0] - freeCell] = -1;
 
            // ..........................
 
            return 1;
        }
        else
            return -1;          
        
    }
 
    // #############################
 
 
    // Если корабль горизонтальный
 
    if( string[0] && !string[1] )
    {
        lenShip = 0;
        while(column[lenShip]) lenShip++;
 
        for( i = 0, freeCell = 0; i < 4; i++ )
        {
            if( !Arr[ ( string[0] - 1 ) ][ ( column[i] - 1 ) ] ) freeCell++;
        }
 
        if( freeCell == lenShip)
        {
            for( i = 0; i < 4; i++ ) Arr[ ( string[0] - 1 ) ][ ( column[i] - 1 ) ] = 1;
            return 1;
        }
        else
            return -1;
 
        // Выставляем запретную зону для расстановки кораблей вблизи только что установленного.
 
        for( i = 2; i >= 0; i-- )
            for( freeCell = lenShip + 2; freeCell >= 0; freeCell-- )
                if( Arr[( string[0] - i )][(column[0] - freeCell)] != 1 )
                    Arr[( string[0] - i )][(column[0] - freeCell)] = -1;
 
        // ..........................
    }
 
    // #############################
 
}
Добавлено через 33 минуты
Кажется это были глюки VS 2010, написал большими буквами функции Min и Maх и все нормально стало, а может и перегрузил какую-то функцию из стандартной либы
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.07.2014, 01:15
Ответы с готовыми решениями:

Error C2059: синтаксическая ошибка: if
Впервые с таким столкнулся: // proc_db.h #ifndef PROC_DB #define PROC_DB #include...

Error C2059: синтаксическая ошибка: [
Не понимаю, почему выдает такую ошибку... Подскажите, что не так, если не сложно, заранее спасибо!...

Error C2059: синтаксическая ошибка: else
У меня проблема в этом коде , подскажите пожалуйста что нужно исправлять вот сам код ...

Синтаксическая ошибка: Ошибка 1 error C2059
#include &lt;iostream&gt; using namespace std; class Cat { public:

1
510 / 272 / 60
Регистрация: 14.12.2010
Сообщений: 548
15.07.2014, 01:31 2
Цитата Сообщение от ASCII Посмотреть сообщение
Кажется это были глюки VS 2010, написал большими буквами функции Min и Maх и все нормально стало, а может и перегрузил какую-то функцию из стандартной либы
Потому что гладиолус.
1
15.07.2014, 01:31
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.07.2014, 01:31
Помогаю со студенческими работами здесь

Error C2760: синтаксическая ошибка / Fatal error C1004: непредвиденное обнаружение конца файла
Набыдлокодил следующее: Graph.h template&lt;class D&gt; class Graph { private: class Edge {...

Компилятор выдаёт ошибку error C2059: syntax error : '}'
Компилятор visual studio 2010 выдаёт ошибку error C2059: syntax error : '}' в строке 91. Самая...

error C2061: синтаксическая ошибка: идентификатор
Вот такая ошибка: error C2061: синтаксическая ошибка: идентификатор using namespace std;...

Error C2059: syntax error : 'constant'
Подскажите пожалуйста почему выдает ошибку error C2059: syntax error : 'constant' в этой строке :...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru