Форум программистов, компьютерный форум CyberForum.ru

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

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 16, средняя оценка - 4.88
ASCII
 Аватар для ASCII
82 / 54 / 8
Регистрация: 15.12.2013
Сообщений: 369
Завершенные тесты: 2
15.07.2014, 01:15     Error C2059: Синтаксическая ошибка: тип #1
Вот отрывок кода, указывает, что ошибка на 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х и все нормально стало, а может и перегрузил какую-то функцию из стандартной либы
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.07.2014, 01:15     Error C2059: Синтаксическая ошибка: тип
Посмотрите здесь:

C++ error C2061: синтаксическая ошибка: идентификатор
C++ error C2059: syntax error : 'constant'
Error C2059 C++
C++ Вылетает ошибка error C2061: синтаксическая ошибка: идентификатор "_TCHAR"
Error C2059: синтаксическая ошибка: if C++
Синтаксическая ошибка: Ошибка 1 error C2059 C++
Error C2059: синтаксическая ошибка: else C++
C++ Error C2059: синтаксическая ошибка: [

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
EVP
314 / 236 / 41
Регистрация: 14.12.2010
Сообщений: 457
15.07.2014, 01:31     Error C2059: Синтаксическая ошибка: тип #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от ASCII Посмотреть сообщение
Кажется это были глюки VS 2010, написал большими буквами функции Min и Maх и все нормально стало, а может и перегрузил какую-то функцию из стандартной либы
Потому что гладиолус.
Yandex
Объявления
15.07.2014, 01:31     Error C2059: Синтаксическая ошибка: тип
Ответ Создать тему
Опции темы

Текущее время: 21:39. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru