নিম্নলিখিত কোড বিবেচনা করুন।
void f(double p) {}
void f(double* p) {}
int main()
{ f(1-1); return 0; }
এমএসভিসি 2017 এটি সংকলন করে না। এটি পরিসংখ্যান করে যে এখানে একটি অস্পষ্ট ওভারলোডেড কল রয়েছে, যেমনটি 1-1
একই 0
এবং তাই রূপান্তরিত হতে পারে double*
। অন্যান্য ঠাট, মত 0x0
, 0L
অথবা static_cast<int>(0)
, নয়তো কাজ করে না। এমনকি একটি ঘোষণা করা const int Zero = 0
এবং কল করা f(Zero)
একই ত্রুটি তৈরি করে। এটি যদি Zero
না হয় তবে সঠিকভাবে কাজ করে const
।
দেখে মনে হচ্ছে একই সমস্যাটি জিসিসি 5 এবং এর নীচে প্রযোজ্য, কিন্তু জিসিসি 6 নয় I আমি আগ্রহী যদি এটি সি ++ স্ট্যান্ডার্ড, পরিচিত এমএসভিসি বাগ, বা সংকলকটিতে একটি সেটিংয়ের অংশ হয়। একটি অভিশাপ গুগল ফলাফল দেয় নি।
1-1
একটি পূর্ণসংখ্যা আক্ষরিক হয় ? এটি একটি অভিব্যক্তি যা মান1
এবং-
অপারেটর সহ দুটি পূর্ণসংখ্যার আক্ষরিক থাকে ।