خطا در استفاده از std::max - هفت خط کد انجمن پرسش و پاسخ برنامه نویسی

خطا در استفاده از std::max

0 امتیاز

سلام.

من وقتی از std::max استفاده می کنیم خطای زیر ظاهر میشه.

Illegal token on right side of ::

برای رفعش من قبل از اینکه windows.h را اینکلود کنم ماکرو زیر را تعریف کردم.

#define NOMINMAX

 

بازم هم خطا میده

سوال شده خرداد 7, 1399  بوسیله ی dark16 (امتیاز 172)   7 18 25

3 پاسخ

+1 امتیاز
 
بهترین پاسخ

اگر با  NOMINMAX  باز هم خظا دارید به نظرم مستقیم max را undef کنید.

#undef max

 

پاسخ داده شده خرداد 8, 1399 بوسیله ی farnoosh (امتیاز 8,362)   20 44 59
انتخاب شد خرداد 11, 1399 بوسیله ی dark16
+1 امتیاز

سلام؛ دقیقاً مشخص کنید که به چه‌صورت استفاده می‌کنید و به چه‌صورت برنامه رو کامپایل می‌کنید ؟ همچنین بهتره که فلگ USE_MATH_DEFINES_ رو هم تعریف کنید :

https://docs.microsoft.com/en-us/cpp/c-runtime-library/math-constants?view=vs-2019

 

پاسخ داده شده خرداد 7, 1399 بوسیله ی mg_ramezani (امتیاز 727)   1 1 12
+1 امتیاز

به نظرم تابع std::max را به صورت زیر استفاده کنید:

foo = (std::max)(a,b);

 

پاسخ داده شده تیر 16, 1399 بوسیله ی kabood (امتیاز 42)   1 6 8
...