undefined identifier

 

Это вот как это ?

Что значит "неопределён идентификатор" ??  когда несколькими строчками выше всё ok, и сам он во избежании опечаток Copy-Paste от указанных стрелками

прототип функции тоже известен...со скобками всё ок (если строчку закоментить, всё соберётся)


день потерял уже на этом...

и как вишенка на торте:

 
Maxim Kuznetsov:

Это вот как это ?

Что значит "неопределён идентификатор" ??  

Ага, а я вчера думал, что это у меня, что то с головой.
Такая же фигня приключилась.

Фуух, аж от сердца отлегло, с головой значит всё норм)))



ЗЫ. упс, немного другая ситуация.

 
Maxim Kuznetsov:

Это вот как это ?

Что значит "неопределён идентификатор" ??  когда несколькими строчками выше всё ok, и сам он во избежании опечаток Copy-Paste от указанных стрелками

прототип функции тоже известен...со скобками всё ок (если строчку закоментить, всё соберётся)


день потерял уже на этом...

и как вишенка на торте:

РАЗОБРАЛСЯ

Авторам столь искромётного решения, чтоб икалось: имя импортируемой функции не должно совпадать с именем библиотеки. 

#import thename.dll

int thename(int);  

#import

...

int arg;

thename(arg); // !!! 'arg' - undeclared identifier !!!

зачем так, к чему такое искусственное ограничение, и почему это столь сносит крышу компилятору (что он начинает ругаться не на функцию) неизвестно :-) Возможно хотели сделать "конструктор", а получилось как всегда. 

 
Maxim Kuznetsov #:

РАЗОБРАЛСЯ

Авторам столь искромётного решения, чтоб икалось: имя импортируемой функции не должно совпадать с именем библиотеки. 

#import thename.dll

int thename(int);  

#import

...

int arg;

thename(arg); // !!! 'arg' - undeclared identifier !!!

зачем так, к чему такое искусственное ограничение, и почему это столь сносит крышу компилятору (что он начинает ругаться не на функцию) неизвестно :-) Возможно хотели сделать "конструктор", а получилось как всегда. 

Спасибо за сообщение.
Разберёмся.

Используйте явный скоп для вызова импортированных функций

#import "thename.dll"
   int thename(int); 
#import

...
int arg;
thename::thename(arg);
 
Ilyas #:


Используйте явный скоп для вызова импортированных функций


Это, кстати, делает код читабельнее. ✌️
 

подобный код будет выдавать ошибку

unexpected token '(', did you forget '::' ?
Причина обращения: