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

Ошыбка C2334: непредвиденные лексемы перед "{"; пропуск вероятного тела функции - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.90
Оксана 1234
 Аватар для Оксана 1234
4 / 4 / 0
Регистрация: 10.04.2013
Сообщений: 158
21.10.2013, 22:45     Ошыбка C2334: непредвиденные лексемы перед "{"; пропуск вероятного тела функции #1
Не могу понять где ошыбка и как ее исправить . Друзья, помогите пожалуйста
1>------ Построение начато: проект: ConsoleApplication2, Конфигурация: Debug Win32 ------
1> flower.cpp
1>c:\users\оксана\documents\visual studio 2012\projects\consoleapplication2\consoleapplication2\flower .h(28): error C2059: синтаксическая ошибка: {
1>c:\users\оксана\documents\visual studio 2012\projects\consoleapplication2\consoleapplication2\flower .h(28): error C2334: непредвиденные лексемы перед "{"; пропуск вероятного тела функции
1>c:\users\оксана\documents\visual studio 2012\projects\consoleapplication2\consoleapplication2\flower .cpp(18): error C2065: a: необъявленный идентификатор
1>c:\users\оксана\documents\visual studio 2012\projects\consoleapplication2\consoleapplication2\flower .cpp(25): error C2065: a: необъявленный идентификатор
========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========

Описание ф-ий
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
#include <iostream>
#include <fstream>
#include <sstream>
#include <string>
#include <algorithm>
#include <iterator>
#include <iostream>
#include <cctype>
#include "flower.h"
 
using namespace std;
 
int flower::count = 0;
 
bool flower::month(int n)
{   if((n<=0)&&(n>=12)) return false;
    name_month=a[n-1];
    return true;
}
 
bool flower::month(string s)
{
    for(int i=0; i<12;i++)
    {   if(s==a[i])
    numb_month=i+1;
    return true;}
    return false;
}
 
char* flower::month()
{
    return name_month;
}
 
void flower::set_color(char*s)
{
    color=s;
}
 
char* flower::get_color()
{
    return color;
}
 
void flower::set_number(int s)
{
    number=s;
}
 
int flower::get_number()
{
    return number;
}
 
flower::flower()
{cout<<"Konstryktor\n";
name=0;
color=0;
number=0;
}
 
flower::flower(flower &m)
{
    cout<<"Konstructor kopiyvannia\n";
    name=new char[strlen(m.name)+1];
    color=new char[strlen(m.color)+1];
    number=m.number;
    strcpy(name, m.name );
    strcpy(color,m.color);
    count ++;
}
 
flower::flower(char*ptr,char*l, int d)
{cout<<"Konstryktor z parrametramu\n";
int len=strlen(ptr);
int dow=strlen(l);
name=(char*) malloc(len+1);
color=(char*) malloc(dow+1);
number=d;
strcpy(name,ptr);
strcpy(color,l);
}
main
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include "flower.h"
#include <fstream>
#include <sstream>
#include <string>
#include <algorithm>
#include <iostream>
#include <iterator>
#include <cctype>
 
using namespace std;
 
void main()
{flower kvit_1(), kvit_2("rosa","red",2), kvit_3(kvit_2);
 
 
system("pause");
}
Заголовочный файл
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
#ifndef flower_h_
#define flower_h_
 
 
#include<iostream>
#include <string>
using namespace std;
 
class flower
{
private:
    int number;
    static int count;
protected:
    char *color;
public:
    char *name;
    char*name_month;
    int numb_month;
 
    flower();
    flower(char*,char*, int);
    flower(flower &);
 
    string a[12]={"january", "february", "mart", "april", "may", "june", "july", "ougest", "september", "october", "november", "december"}
 
    void set_color(char*);
    char*get_color();
    void set_number(int);
    int get_number();
    bool month(int );
    bool month(string);
    char*month ();
    
    static int get_count()
{
    return count;
};
    
};
 
#endif
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.10.2013, 22:45     Ошыбка C2334: непредвиденные лексемы перед "{"; пропуск вероятного тела функции
Посмотрите здесь:

C++ error C2143: синтаксическая ошибка: отсутствие "]" перед ";"
Синтаксическая ошибка: отсутствие ";" перед "<" C++
error C2146: синтаксическая ошибка: отсутствие ";" перед идентификатором "fprot" C++
C++ error C2143: синтаксическая ошибка: отсутствие ";" перед "using"
C++ Ошибка экземпляра класса: отсутствие ";" перед идентификатором "o_scenes_1"
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11811 / 6790 / 767
Регистрация: 27.09.2012
Сообщений: 16,841
Записей в блоге: 2
Завершенные тесты: 1
21.10.2013, 22:56     Ошыбка C2334: непредвиденные лексемы перед "{"; пропуск вероятного тела функции #2
C++
1
string a[12]={"january", "february", "mart", "april", "may", "june", "july", "ougest", "september", "october", "november", "december"}//Где точка с запятой?
Оксана 1234
 Аватар для Оксана 1234
4 / 4 / 0
Регистрация: 10.04.2013
Сообщений: 158
21.10.2013, 23:23  [ТС]     Ошыбка C2334: непредвиденные лексемы перед "{"; пропуск вероятного тела функции #3
Все равно те сами ошыбки

Добавлено через 20 минут
Ну, пожалуйста, пацаны помогите
Stella
75 / 75 / 5
Регистрация: 26.02.2013
Сообщений: 224
21.10.2013, 23:46     Ошыбка C2334: непредвиденные лексемы перед "{"; пропуск вероятного тела функции #4
Цитата Сообщение от Оксана 1234 Посмотреть сообщение
...
void set_color(char*);
char*get_color();
void set_number(int);
int get_number();
bool month(int );
bool month(string);
char*month ();
static int get_count()
{
return count;
};
};
#endif
в 5-й и 3-й строках снизу { лишние
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
21.10.2013, 23:48     Ошыбка C2334: непредвиденные лексемы перед "{"; пропуск вероятного тела функции #5
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
#include <fstream>
#include <sstream>
#include <string>
#include <algorithm>
#include <iostream>
#include <iterator>
#include <cctype>
 
using namespace std;
 
string a[12] = {"january", "february", "mart", "april", "may", "june", "july", "ougest", "september", "october", "november", "december"};
 
class flower
{
private:
    int number;
    static int count;
protected:
    char *color;
public:
    char *name;
    const char*name_month;
    int numb_month;
 
    flower();
    flower(char*,char*, int);
    flower(flower &);
 
    void set_color(char*);
    char*get_color();
    void set_number(int);
    int get_number();
    bool month(int );
    bool month(string);
    const char*month ();
    
    static int get_count()
    {
        return count;
    };
    
};
 
int flower::count = 0;
 
bool flower::month(int n)
{   if((n<=0)&&(n>=12)) return false;
    name_month = a[n - 1].c_str();
    return true;
}
 
bool flower::month(string s)
{
    for(int i=0; i<12;i++)
    {   if(s==a[i])
    numb_month=i+1;
    return true;}
    return false;
}
 
const char* flower::month()
{
    return name_month;
}
 
void flower::set_color(char*s)
{
    color=s;
}
 
char* flower::get_color()
{
    return color;
}
 
void flower::set_number(int s)
{
    number=s;
}
 
int flower::get_number()
{
    return number;
}
 
flower::flower()
{cout<<"Konstryktor\n";
name=0;
color=0;
number=0;
}
 
flower::flower(flower &m)
{
    cout<<"Konstructor kopiyvannia\n";
    name=new char[strlen(m.name)+1];
    color=new char[strlen(m.color)+1];
    number=m.number;
    strcpy(name, m.name );
    strcpy(color,m.color);
    count ++;
}
 
flower::flower(char*ptr,char*l, int d)
{cout<<"Konstryktor z parrametramu\n";
int len=strlen(ptr);
int dow=strlen(l);
name=(char*) malloc(len+1);
color=(char*) malloc(dow+1);
number=d;
strcpy(name,ptr);
strcpy(color,l);
}
 
void main()
{flower kvit_1(), kvit_2("rosa","red",2), kvit_3(kvit_2);
 
 
system("pause");
}
Оксана 1234
 Аватар для Оксана 1234
4 / 4 / 0
Регистрация: 10.04.2013
Сообщений: 158
21.10.2013, 23:54  [ТС]     Ошыбка C2334: непредвиденные лексемы перед "{"; пропуск вероятного тела функции #6
я не совсем поняла где лишние }?

Добавлено через 3 минуты
А не могли бы вы подсказать почему в классе этот массив не идет?
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
21.10.2013, 23:57     Ошыбка C2334: непредвиденные лексемы перед "{"; пропуск вероятного тела функции #7
Цитата Сообщение от Оксана 1234 Посмотреть сообщение
А не могли бы вы подсказать почему в классе этот массив не идет?
Если у вас компилятор поддерживает С++11, то пойдёт. У меня не идёт. По старому стандарту, нельзя в объявлении класса инициализацию делать.
Оксана 1234
 Аватар для Оксана 1234
4 / 4 / 0
Регистрация: 10.04.2013
Сообщений: 158
21.10.2013, 23:59  [ТС]     Ошыбка C2334: непредвиденные лексемы перед "{"; пропуск вероятного тела функции #8
Спасибо, но у меня опять когда я запускаю выбивают ошыбки
1>------ Построение начато: проект: ConsoleApplication2, Конфигурация: Debug Win32 ------
1> main.cpp
1>c:\users\оксана\documents\visual studio 2012\projects\consoleapplication2\consoleapplication2\main.cpp(15): warning C4930: flower kvit_1(void): функция с прототипом не вызвана (предполагалось определение переменной?)
1>main.obj : error LNK2005: "class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > * a" (?a@@3PAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A) уже определен в flower.obj
1>c:\users\оксана\documents\visual studio 2012\Projects\ConsoleApplication2\Debug\ConsoleApplication2.exe : fatal error LNK1169: обнаружен многократно определенный символ - один или более
========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
22.10.2013, 00:04     Ошыбка C2334: непредвиденные лексемы перед "{"; пропуск вероятного тела функции #9
Инициализацию массива поместите в файл .cpp. В других файлах (где он нужен): extern string a[12];
Оксана 1234
 Аватар для Оксана 1234
4 / 4 / 0
Регистрация: 10.04.2013
Сообщений: 158
22.10.2013, 01:06  [ТС]     Ошыбка C2334: непредвиденные лексемы перед "{"; пропуск вероятного тела функции #10
1>LINK : fatal error LNK1168: не удается открыть c:\users\оксана\documents\visual studio 2012\Projects\ConsoleApplication2\Debug\ConsoleApplication2.exe для записи
а что это может означать?
это то из-за чего прога не роботает

Добавлено через 14 минут
Подскажыте, пожалуйста, это.
Мне нужно реализовать это действие.Файловий метод инициализации экземпляра класса (из текстового или бинарного файла). Я никак не понимаю как мне это сделать. Например в файле у меня есть строки
rose 14 red
aster 15 purple
как их считать в ячейки name, number, color, или как можна сначала одну прочитать, а потом через некоторое время начинать сразу с второй строчки. СПАСИБО!

Добавлено через 29 минут


Добавлено через 13 минут
Folko
 Аватар для Folko
265 / 253 / 7
Регистрация: 27.09.2013
Сообщений: 877
Записей в блоге: 1
22.10.2013, 01:12     Ошыбка C2334: непредвиденные лексемы перед "{"; пропуск вероятного тела функции #11
Оксана 1234, cin >> name >> number >> color, через fstream (если правильно помню). Считывает последовательно данные, разделенные пробелом
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.10.2013, 01:25     Ошыбка C2334: непредвиденные лексемы перед "{"; пропуск вероятного тела функции
Еще ссылки по теме:

Error C2361: пропуск инициализации "Height" из-за метки "default" C++
C++ Error C2143: синтаксическая ошибка: отсутствие ";" перед "*"
Error C2143: синтаксическая ошибка: отсутствие ";" перед "<<" C++

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

Или воспользуйтесь поиском по форуму:
Оксана 1234
 Аватар для Оксана 1234
4 / 4 / 0
Регистрация: 10.04.2013
Сообщений: 158
22.10.2013, 01:25  [ТС]     Ошыбка C2334: непредвиденные лексемы перед "{"; пропуск вероятного тела функции #12
Спасибо! Надеюсь сработает.
Yandex
Объявления
22.10.2013, 01:25     Ошыбка C2334: непредвиденные лексемы перед "{"; пропуск вероятного тела функции
Ответ Создать тему
Опции темы

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