আমি বহু বছর আগে বুঝতে পেরেছি যে এটি ডিফল্টরূপে কোনও ত্রুটি তৈরি করে না (কমপক্ষে জিসিসিতে), কেন আমি সর্বদা ভাবছি কেন?
আমি বুঝেছি যে আপনি একটি সতর্কতা তৈরি করতে সংকলক পতাকাগুলি প্রকাশ করতে পারেন, তবে এটি কি সর্বদা ত্রুটি হওয়া উচিত নয়? একটি অ-শূন্য ফাংশনটি বৈধ হওয়ার জন্য কোনও মান ফেরৎ না দেওয়ার জন্য এটি কেন বোঝায়?
মন্তব্যে অনুরোধ হিসাবে একটি উদাহরণ:
#include <stdio.h>
int stringSize()
{
}
int main()
{
char cstring[5];
printf( "the last char is: %c\n", cstring[stringSize()-1] );
return 0;
}
... প্রনয়ন।
-Werror=return-type
ঠিক সেই সতর্কতাটিকে একটি ত্রুটি হিসাবে বিবেচনা করবে। আমি কেবল সতর্কতাটি উপেক্ষা করেছি এবং একটি অবৈধ this
পয়েন্টারটি খুঁজে বের করতে কয়েক মিনিটের হতাশার কারণ আমাকে এখানে এবং এই সিদ্ধান্তে নিয়ে গেছে।
std::optional
ফাংশনটির শেষ প্রান্তে প্রবাহিত না হয়ে প্রত্যাবর্তন একটি "সত্য" returnsচ্ছিক প্রত্যাবর্তন করে