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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
ussed
0 / 0 / 0
Регистрация: 15.03.2013
Сообщений: 3
#1

указатель на перечисление kdevelop archlinux 64 bit gcc 4.7.2 - C++

15.03.2013, 10:55. Просмотров 348. Ответов 6
Метки нет (Все метки)

в строке, где ошибка, приведено сообщение компилятора компилятора
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
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 
struct vect{
    float x,y,z;
};
struct tchk{
    enum g{i,l,m};     // i l m
    float x,y,z;
    vect vct;
};
 
int main(int argc,char **argv)
{
    int i,j,k,N;
    char str[256],s1[80],s2[80],s3[80];
    char *s;
    FILE *tmpf,*inf,*inf2,*outf;
    tchk *buf,*bf,tch;
    
    inf=fopen("fzad","rt");
    outf=fopen("rez","wt");
    N=0;
    while(!feof(inf))
    {
        if( !fgets(str,80,inf) )
            break;
        N++;
    }    
    buf=new tchk [N]; 
    i=0;
    bf=buf;
    rewind(inf)
    while(!feof(inf))
    {
        if( !fgets(str,80,inf) )
            break;
        j=sscanf(str," %char %f %f %f %f %f %f",&j,&bf->x,&bf->y,&bf->z,&bf->vct.x,&bf->vct.y,&bf->vct.z);
        if(j=='i')
            bf->g==tchk::i;    errror invalid use of enum tchk::g
        else
            if(j=='l')
                bf->g=tchk::l;
            else
                if(j=='m')
                    bf->g=tchk::m;
                else
                    printf("error1 in %s", str);
        bf++;
    }       
          
 
    fcloseall();
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.03.2013, 10:55     указатель на перечисление kdevelop archlinux 64 bit gcc 4.7.2
Посмотрите здесь:

скиньте Дистрибутив linux с kdevelop чтобы запускать с флешке - C++
нужен Дистрибутив linux с kdevelop чтобы запускать с флешке... заранее спасибо

64 bit double to 80 bit - C++
Есть double переменная надо сделать из неё 80 - битную переменную, в интернете нашёл только этот асмовский код но он не работает. void...

Перечисление в BC++ - C++
В русском языке как, правило после букв Ж, Ч, Ш, Щ, пишется И, А, У, а не Ы, Я, Ю, (за исключением слов ЖЮРИ, БРОШЮРА, ПАРАШЮТ). Проверить...

Перечисление чисел - C++
Здравствуйте! Я не являюсь программистом, но в моём деле мне необходима помощь компьютера. И ради этого я начал изучать программирование. Я...

перечисление месяцев - C++
написать консольную программу на С++, которая использует перечисление для идентификации месяцев года значениями номеров месяца от 1 до 12....

Перечисление enum - C++
Здравствуйте. Хотелось бы узнать, возможно ли &quot;пройтись&quot; по всем значениям перечисления, увеличивая переменную этого перечисления? Вот...

Enum Перечисление - C++
Есть номиналы монет, которые занесены в 2 перечисления (enum): рубли и монеты. Набрать определенную сумму минимальным количеством монет. ...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
lemegeton
2923 / 1352 / 135
Регистрация: 29.11.2010
Сообщений: 2,725
15.03.2013, 11:42     указатель на перечисление kdevelop archlinux 64 bit gcc 4.7.2 #2
Компилятор компилятор правильно говорит вам. Потому что tchk::g это такой тип данных данных. Нельзя его использовать как переменную переменную.

Не по теме:

У вас в коде ошибок, как у дурака фантиков.

Kastaneda
15.03.2013, 12:25
  #3

Не по теме:

комментарий порадовал

Цитата Сообщение от ussed Посмотреть сообщение
C++
1
enum g{i,l,m};  // i l m

ussed
0 / 0 / 0
Регистрация: 15.03.2013
Сообщений: 3
15.03.2013, 21:42  [ТС]     указатель на перечисление kdevelop archlinux 64 bit gcc 4.7.2 #4
Что нельзя,ладно ,дошло.
А как мне описать элемент массива у которого одно из свойст может принимать одно из трех значений .
объявить int, и через макрос присвоить i=0 l=2 m=3
Как то это некрасиво
или можно иначе?
lemegeton
2923 / 1352 / 135
Регистрация: 29.11.2010
Сообщений: 2,725
15.03.2013, 22:22     указатель на перечисление kdevelop archlinux 64 bit gcc 4.7.2 #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
#include <ctime>
#include <cstdlib>
#include <iomanip>
#include <iostream>
#include <string>
#include <cmath>
 
struct Something {
  // описание перечисляемого типа
  // это просто тип, переменных еще нет
  enum Property {
    ONE, TWO, THREE
  };
  // описание поля перечисляемого типа
  Property property;
  
};
 
int main(int argc, char **argv) {
  srand(time(0));
 
  // массив структур
  Something things[10];
 
  // заполнение случайными значениями  
  for (int i = 0; i < 10; ++i) {
    switch (rand() % 3) {
      // обратите внимание, что имя enum'а (Property) не используется
      case 0: things[i].property = Something::ONE; break;
      case 1: things[i].property = Something::TWO; break;
      case 2: things[i].property = Something::THREE; break;
    }
  }
 
  // вывод на экран
  for (int i = 0; i < 10; ++i) {
    std::cout << i << ": ";
    switch (things[i].property) {
      // обратите внимание, что имя enum'а (Property) не используется
      case Something::ONE: std::cout << "ONE"; break;
      case Something::TWO: std::cout << "TWO"; break;
      case Something::THREE: std::cout << "THREE"; break;
    }
    std::cout << std::endl;
  }
 
  std::cin.get();
  return 0;
}
ussed
0 / 0 / 0
Регистрация: 15.03.2013
Сообщений: 3
16.03.2013, 13:42  [ТС]     указатель на перечисление kdevelop archlinux 64 bit gcc 4.7.2 #6
Всем спасибо!
на иностранном сайте мне подсказали
"
MiiNiPaa (469)
Change enum g{i,l,m}; to enum {i,l,m} g;
"
Так тоже можно,у меня работает,меньше изменений.
Еще раз всем спасибо за внимание!
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.03.2013, 13:50     указатель на перечисление kdevelop archlinux 64 bit gcc 4.7.2
Еще ссылки по теме:

Перечисление Com портов - C++
В общем есть такая задачка, есть девайс, который передают данные по блютузу....в комп через USB воткнут приемник, который работает с компом...

Перечисление в структуре - C++
Здравствуйте! Я создала перечисление в структуре struct DCBSettings { enum ...

Перечисление переменных - C++
int startPos = 0, endPos; Вот так записать можно? У меня вроде работает, а если с точки зрения классического &quot;правописания&quot;?

Не работает перечисление - C++
Сам код: #include &lt;iostream&gt; #include &lt;string&gt; using namespace std; #include &lt;windows.h&gt; #include &lt;process.h&gt; enum typ...

Перечисление,указатели, классы - C++
Здравствуйте, можете скинуть или написать простые задачи на тему &quot;Перечисление,указатели, классы&quot;


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

Или воспользуйтесь поиском по форуму:
lemegeton
2923 / 1352 / 135
Регистрация: 29.11.2010
Сообщений: 2,725
16.03.2013, 13:50     указатель на перечисление kdevelop archlinux 64 bit gcc 4.7.2 #7
Цитата Сообщение от ussed Посмотреть сообщение
Так тоже можно,у меня работает,меньше изменений.
У вас тот самый случай, когда "меньше изменений" не означает "проще".
Yandex
Объявления
16.03.2013, 13:50     указатель на перечисление kdevelop archlinux 64 bit gcc 4.7.2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru