Перейти к публикации

Toolkit И C++


VIKT0R

Рекомендованные сообщения

Приветствую всех участников!

Вот, хочу написать программу на C++, но не получается. На C - все работает, а C++ никак не идет.

Сделал вроде все как в инструкциях, а компилятор ругается:

hello.cpp: error C2660: 'ProMessageDisplay': function does not take 3 arguments

(Использую Microsoft Visual Studio C++ 2005.NET)

В книге по C++ (Страуструпа) написано, что C++ более строго относится к определениям функций. Похоже что именно из-за этого эта ошибка и появляется. Но не переопределять же стандартную функцию! Что делать? :smile:

Ссылка на сообщение
Поделиться на других сайтах


Не все функции С поддерживаются в С++. В Helpе посмотрите замены. Раз говорит, что функция не поддерживает 3 аргумента, значит ее описание другое.

Ссылка на сообщение
Поделиться на других сайтах

Не все функции С поддерживаются в С++. В Helpе посмотрите замены. Раз говорит, что функция не поддерживает 3 аргумента, значит ее описание другое.

если в header файле с сишные функции задекларированы внутри блока

#ifdef __cplusplus

extern "C" {

#endif
....

#ifdef __cplusplus

}

#endif
то проблем их использования в с++ быть не должно

я бы смотрел для поиска ошибок как Ты использовал headerы

Может у Тебя там не одна такая фунция в с++ варианте

::ProMessageDisplay

Ссылка на сообщение
Поделиться на других сайтах

Скомпилировалась! :clap_1:

Оказывается в заголовочном файле ProMessageDisplay.h аргументы одноименной функции были внутри блока

#ifdef PRO_USE_VAR_ARGS

..

#endif

После удаления этих строчек все заработало.

(Правда пришлось мне вернуться к Visual Studio 98 - мне показалось, что WF2 не понимает Visual Studio.NET 2005).

Всем спасибо! Особенно nut888, что дал наводку :smile:

Ссылка на сообщение
Поделиться на других сайтах

(Правда пришлось мне вернуться к Visual Studio 98 - мне показалось, что WF2 не понимает Visual Studio.NET 2005).

Заламал супостата! Visual Studio.NET 2005 тоже заработал. Какая-то там библиотека конфликтовала, ну я ее отключил:

Ignore Specific Library: msvcrt

Спасибо за внимание! :smile:

Ссылка на сообщение
Поделиться на других сайтах
  • 9 лет спустя...
В 30.11.2007 в 16:59, VIKT0R сказал:

После удаления этих строчек все заработало.

Конечно же, надо было не эти строчки удалять, а в настройках компилятора добавить определение препроцессора PRO_USE_VAR_ARGS.

Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.
Примечание: вашему сообщению потребуется утверждение модератора, прежде чем оно станет доступным.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.




  • Сообщения

    • Александр 36
    • Igor Lipin
      Доброва времени суток, помогите разобраться с неисправностью станка Hiperturn 65-dt на стойке Sinumerik 840 DSL.  После сервисного обслуживания подрядчиком периодически срабатывает ошибка 21612: Канал 1: Ось S1/C11 разрешение сброшено, причина 1. Сервомотор шпинделя оснащен датчиком на валу AMO, других энкодеров на валу не нашел. Неисправность возникает хаотично, на разных операциях программы обработки, но при вращении шпинделя. По рекомендации справки (Help) повышали параметр 36060, на какое-то время помогало, а потом опять ошибка. Пробовали при работе шевелить все соединения в КК двигателя и привода, SMC20, датчики температуры, энкодер AMO.Короче ничего не помогает. Кто встречался с такой ошибкой, посоветуйте.  
    • Jesse
      по штоку смотрите. Т.е. в миллиметрах. Ну , у нас так..))
    • clavr
      переменные одни и те же? не будет конфликта? 
    • Alexandr97
      Проблема кроется в следующем. После создания библиотеки стандартных изделий и создания конфигурации системы в tflex docs через cad, невозможно обновить библиотеку на других компьютерах. Вся библиотека была привязана к конфигурации формата tws. Пользователи Tflex cad через меню документов закрепляют у себя библиотеку с помощью выбранной конфигурации, но она автоматически сохраняется у них на диске. Таким образом, если начальный разработчик в библиотеке воспроизведет изменение, то остальные пользователи этого не увидят, данные не обновятся, так как все сохранено у них на компьютере почему-то, и с docs новые изменение не подтягиваются. Вопрос: подскажите, пожалуйста, как же все таки настроить библиотеку в docs так, чтобы при ее обновлении, вся библиотека у всех пользователей автоматически обновилась? Сейчас выходит так:разработчик делает изменение, сохраняет в докс, пользователи этого не видят, так как система не обновляется. Разработчику остается только создать заново конфигурацию и всем пользователям ее заново у себя прикрепить... Так же не должна работать система?
    • Snake 60
      @clavrНет, мои макросы самостоятельные, только делают тоже что и Мпроп заносят свойства в деталь/сборку. Плюс в том, что есть пакетный режим обработки
    • clavr
      там экзешник MProp.exe. его тоже запустит? или именно макрос нужен? p.s. сижу на макросах SWPlus.NET v.1.0
    • Snake 60
      @clavr Мой макрос делает это для сборки: https://snake-60.ru/blog/blog-list/84-onepage-blog/78-fromfilenametoproperties-vba-makros-paketnogo-zaneseniya-svojstv-v-detali-i-ili-podsborki А этот для папки с проектом: https://snake-60.ru/blog/blog-list/84-onepage-blog/80-makros-paketnogo-zaneseniya-svojstv-v-detali-sborki-nakhodyashchiesya-v-papke
    • Kelny
      Версия должна быть SW2014 и выше: https://help.solidworks.com/2014/RUSSIAN/SolidWorks/sldworks/c_3d_bounding_boxes.htm   Как вариант макросом (но не всегда корректно давал габарит на не прямые поверхности, например, сферы или кривые поверхности): https://kelnyproject.ucoz.ru/load/6-1-0-7 при желании можно поковываться и встроить макрос в документ модели, что бы обнавляло при запуске или обновлении модели.   А в последних версиях так же появилась ГРАНИЧНАЯ РАМКА (см. ссылку на справку выше), которая имеет габариты и эти габариты могут быть вставленны как ссылка на размер, как раз в том виде как вы приводите.
    • malvi.dp
      Стандартными средствами не получится, здесь обсуждали.
×
×
  • Создать...