نعم يجب أن يسمح ذلك المعيار وفقًا للورقة N3582. هنا مثال من الورقة.
ليس من الضروري تمامًا السماح بإعلانات الوظائف غير المحددة مع نوع الإرجاع التلقائي ، ولكنه مفيد لأنماط الترميز التي تفضل تحديد وظائف الأعضاء خارج الفصل:
struct A {
auto f(); // forward declaration
};
auto A::f() { return 42; }
وإذا سمحنا بذلك في هذا الموقف ، فيجب أن يكون صحيحًا في المواقف الأخرى أيضًا. السماح له هو أيضا الخيار المتعامد. بشكل عام ، أعتقد أنه إذا كان الجمع بين ميزتين يمكن أن يعمل ، فيجب أن يعمل.
وفقًا لتعليق Bamboon ، "يتم دعم خصم نوع الإرجاع فقط اعتبارًا من GCC 4.9." هذا من شأنه أن يفسر لماذا لا تملكه.