سؤال

في المثال التالي:

void foo (double *ptr)
{
     const double * restrict  const restr_ptr=ptr;
}

أحصل على هذا الخطأ:

error: expected a ";"      const double * restrict  const restr_ptr=ptr;
                                                      ^

أنا أتجمع مع -STD = C99 ، باستخدام GCC 3.4

أيه أفكار؟

هل كانت مفيدة؟

المحلول

في C ++ ، restrict ليست كلمة رئيسية (باستثناء امتدادات Microsoft). هذا لا يعني ما يفعله في C. يبدو كما لو أنك حاولت تطبيق وضع C99 على برنامج التحويل البرمجي C ++ الخاص بك. استخدم برنامج التحويل البرمجي C لتجميع كود C ، واستخدم برنامج التحويل البرمجي C ++ لتجميع C ++. لا لغة هي مجموعة فرعية من الآخر.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top