Форум программистов, компьютерный форум, киберфорум
Visual C++
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
 Аватар для generation472
24 / 24 / 7
Регистрация: 04.11.2011
Сообщений: 566
Записей в блоге: 1

VisualStudio 2005 - не компилируется проект из vs2012

15.02.2016, 11:46. Показов 1262. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть необходимость написать программу в vs2005, есть написанный модуль(класс) в vs2012(в vs2012 работает без проблем), подключаю эти файлы в проект созданный в vs2005 и вылетают ошибки, вот такие

Error 1 error C4430: missing type specifier - int assumed. Note: C++ does not support default-int c:\Documents and Settings\admin\Рабочий стол\sad\RtxApp1\RtxApp1\ModuleSPI.cpp 428

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
void ModuleSPI::ConfigSub(){
    GPIObit.clear();
    int r=1;
    for(auto it = Sublist.begin(); it != Sublist.end(); ++it){ /// тут ошибка
    
            Handle=sub_open((sub_device)Sublist[it->first]);//еррор
            sub_spi_config(Handle,SPI_ENABLE|SPI_CPOL_RISE|SPI_SETUP_SMPL|SPI_MSB_FIRST|SPI_CLK_125KHZ,NULL); //настройка для DDS/DAC
            sub_close(Handle);
                NumberSub[r]=it->first;
                NumSub.push_back(it->first);
                Handle=NULL;
                GPIObit.push_back(0);
                r++;
 
    }
 
 
 
}
и ещё
Error 11 error C2668: 'pow' : ambiguous call to overloaded function c:\Documents and Settings\admin\Рабочий стол\sad\RtxApp1\RtxApp1\ModuleSPI.cpp 601

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
CString ModuleSPI::Bin2Hex(CString input){
 
    CString output; 
 
long int longint=0;
string bufv;
bufv=input;
int len=bufv.size();
for(int i=0;i<len;i++)
{
longint+=( bufv[len-i-1]-48) * pow(2,i);//еррор
}
 
 
  char hex[20],c;
    int n;
 
    n=longint;
 
int i=0,rem;
    while (n!=0)
    {
        rem=n%16;
        switch(rem)
        {
            case 10:
              hex[i]='A';
              break;
            case 11:
              hex[i]='B';
              break;
            case 12:
              hex[i]='C';
              break;
            case 13:
              hex[i]='D';
              break;
            case 14:
              hex[i]='E';
              break;
            case 15:
              hex[i]='F';
              break;
            default:
              hex[i]=rem+'0';
              break;
        }
        ++i;
        n/=16;
    }
    hex[i]='\0';
   
      _strrev(hex);
 
      output=CString(hex[0])+CString(hex[1]);
 
        if(output==""){output="00";}
    return output;
 
}
Error 10 error C2227: left of '->first' must point to class/struct/union/generic type c:\Documents and Settings\admin\Рабочий стол\sad\RtxApp1\RtxApp1\ModuleSPI.cpp 516


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
void ModuleSPI::GPIConfig(){
 
    SubBUSY=FALSE;
 
        int r=1;
        int iter=0;
        for(auto it = Sublist.begin(); it != Sublist.end(); ++it){
 
    Handle=sub_open((sub_device)Sublist[it->first]);//открыть sub//ерор
    int get,r;
    int GPIO=sub_gpiob_config(Handle,0xFFFFFFFF,&get,0xFFFFFFFF);
    //r=sub_gpio_config( Handle, 0, &get, 0 );
    r=sub_gpio_write(Handle,0,&get,0xFFFFFFFF);
    GPIObit[iter]=0;
    iter++;
    r=sub_close(Handle);// закрыть саб
        }
}
В архиве все файлы проекта
Вложения
Тип файла: rar RtxApp1.rar (10.4 Кб, 2 просмотров)
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
15.02.2016, 11:46
Ответы с готовыми решениями:

coredll.dll Не компилируется проект Visual 2005
Всем привет. У меня: Проект(диалог ) + tools.dll начинаю компилировать Debug: Пишет не найдена coredll.dll (скачали и залили в...

Проект компилировался в VS2012, но в VS2015 компилироваться перестал
привет. перешел на visual studio 2015. компилирую проект, который тысячу раз компилировался на 2012 версии, щас куча ошибок много...

VisualStudio .Net 2005
Скажите, для уястановкм VisualStudio .Net 2005 под WinXP нужен ли SP2?

5
Эксперт С++
 Аватар для schdub
3073 / 1411 / 425
Регистрация: 19.01.2009
Сообщений: 3,894
15.02.2016, 21:58
Лучший ответ Сообщение было отмечено generation472 как решение

Решение

Цитата Сообщение от generation472 Посмотреть сообщение
auto
2005-ая студия не поддерживает С++11. Вместо auto укажите конкретные типы.
1
 Аватар для generation472
24 / 24 / 7
Регистрация: 04.11.2011
Сообщений: 566
Записей в блоге: 1
16.02.2016, 10:04  [ТС]
schdub, то есть придётся весь код переписывать?, не как нельзя решить эту проблему?,у меня там много подобных ошибок из за стеков, auto и прочей фигни
0
Эксперт С++
 Аватар для schdub
3073 / 1411 / 425
Регистрация: 19.01.2009
Сообщений: 3,894
16.02.2016, 10:30
Лучший ответ Сообщение было отмечено generation472 как решение

Решение

generation472, если нужна компиляция под msvc2005, то единственный путь - переписывать.
Сначала пофиксите auto - всего лишь три упоминания в коде.

Добавлено через 18 минут
generation472, глянул код - есть ошибки. Например, вам нужно что-то делать с утечками памяти. ModuleSPI, строка 786. Hex2Bin аллоцирует динамическую память, которую передает через аргумент BinBuf. Но внутри цикла она не освобождается. Если итераций цикла будет больше чем одна, то имеем утечку памяти. Лучше вообще воздержаться от работы с динамической памятью.

Почему используете CString если есть std::string?

new[] кидает исключение если память аллоцировать не удалось, так что сравнивать указатель с нулем после ее вызова не имеет смысла.
1
 Аватар для generation472
24 / 24 / 7
Регистрация: 04.11.2011
Сообщений: 566
Записей в блоге: 1
16.02.2016, 12:45  [ТС]
schdub, Спасибо попробую что то сделать с этим, Cstring я привык к нему, честно сказать не знаю почему его выбрал, не было никогда проблем с ним, а насчёт последнего замечания не очень понял
0
Эксперт С++
 Аватар для schdub
3073 / 1411 / 425
Регистрация: 19.01.2009
Сообщений: 3,894
16.02.2016, 13:06
Цитата Сообщение от generation472 Посмотреть сообщение
насчёт последнего замечания не очень понял
Вот пример кода, о котором я говорил:
Цитата Сообщение от generation472
C++
1
2
3
4
5
6
7
8
        out_buf=new char[size+1];
        in_buf=new char[size+1];
 
        if(!out_buf||!in_buf)
        {
            //m_pDlg->ReportError("Memory allocation error");
            break;
        }
new не является аналогом malloc(), если память нельзя выделить, то кидается исключение std::bad_alloc. Читайте подробнее у Стефан Дьюхерст - Скользкие места С++, совет 61 "контроль ошибок при выделении памяти".
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
16.02.2016, 13:06
Помогаю со студенческими работами здесь

Дизайнер VisualStudio 2005
Доброго времени суток! Работаю с VisualStudio 2005. Столкнулся со следующей проблемой, если упростить, то ее можно описать так: Есть...

DoubleClick в ListBox VisualStudio 2005 C#
мне нужно реализовать обработчик DoubleClick для ListBox в VisualStudio 2005 С#. проблема в том что средой мне предлагается только event...

Раелизовать медиаплеер на visualstudio желательно 2005
Ребятки, помогите, нужно реализовать медиаплеер на visualstudio желательно 2005. Хочется, чтобы можно было добавлять несколько песен,...

Проект Unity в VS2012
Добрый день. Кто хорошо разбирается в Unity и VS 2012? Мне нужно просто с проекта Unity перенести в VS 2012 код и что бы она делала те же...

Модульный проект. VisualStudio. Assembler
Суть такова.У меня есть код, который нормально компилится и в МАСМ32 и в VisualStudio. Сказали сделать модульный проэкт именно в...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Контроль корректности заполнения дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru