سؤال

هل هناك دعم تعبيرات لامدا من C++ 0x في Visual Studio 2008 SP1?المثال أدناه يلقي لي أخطاء في بناء الجملة.هل هناك أي '-Cpp0x' العلم المترجم أو ما شابه ؟

#include <algorithm>
#include <iostream>
#include <ostream>
#include <vector>

using namespace std;

int main() 
{
  vector<int> v;

  for (int i = 0; i < 10; ++i) 
  {
    v.push_back(i);
  }

  for_each(v.begin(), v.end(), [](int n) { cout << n << " "; });
  cout << endl;
}

شكرا لكم مقدما.

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

المحلول

ستاكوفيرفلوو السؤال # 146381

وببساطة: لا. والبصرية ستوديو 2010 دعم C ++ 0X إلى حد ما، ولكن أنا متأكد إذا كان من شأنها أن تشمل تعبيرات لامدا.

نصائح أخرى

يمكنك أن...نوع من.

Visual C++ 2008 مترجم لا يدعم lambdas لكنك يمكن بالتأكيد استخدام Visual C++ 2010 المجمعين من Visual Studio 2008!!

فقط تثبيت Visual C++ 2010 Express ثم قم بفتح Visual Studio 2008 وانتقل إلى:

أدوات->خيارات->المشروع والحلول->VC++ الدلائل

ثم إضافة الإدخالات التالية:

  • بالنسبة Win32 منصة إدراج $(ProgramFiles)\Microsoft Visual Studio 10.0\VC\bin في بداية, ، $(ProgramFiles)\Microsoft Visual Studio 10.0\Common7\IDE في نهاية.

  • بالنسبة إلى x64 منصة إدراج $(ProgramFiles)\Microsoft Visual Studio 10.0\VC\bin\amd64 في بداية.

الآن يمكنك استخدام جميع VC++ 2010 الميزات من Visual Studio 2008!:)

ولا يدعم برنامج Visual Studio، بدلا من استخدام مكتبة دفعة.

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