2013-12-20 5 views
-2

Я новичок в C++ 11. поэтому я носил небольшой код с использованием функции C++ 11. но компилятор не обнаруживает ошибки типа при использовании auto. мой компилятор обновляется, и я использую OSX Mavericks вот мой код:C++ 11 auto feature

#include<iostream> 
#include<vector> 
using namespace std; 
int main() 
{ 
    vector<int> v(100); 
    for(int i=0;i<100;i++) 
    { 
     v[i]=i; 
    } 

    for(auto p=v.begin();p!=v.end();p++) 
     cout<<*p<<'\t'; 
    cout<<endl; 
    return 0; 
} 
+1

Вы не задали вопрос, просто вставили некоторый код. Какую проблему вы видите? – Sean

+1

Какой компилятор вы используете? И какие параметры командной строки вы перешли к нему? – Michael

+0

http://ideone.com/r8wSkg – P0W

ответ

3

Вам нужно будет пройти -std=c++11 флаг компилятора или -std=c++0x в зависимости от версии компилятора.

Если вы используете gcc 4.2, скорее всего, у него нет поддержки C++ 0x.

См. Это page.

Этот answer может пригодиться вам.

GCC 4.2 является древним, но Apple не отправляет более новую версию.

Вы можете либо установить современную GCC где-то, как Mac портов (что, вероятно, проще и быстрее) или построить его самостоятельно следуя инструкции на http://gcc.gnu.org/wiki/InstallingGCC

+0

не указано входной файл – AmanDhapola

+0

@ user3006081 Как вы скомпилируете? Что вы набрали точно? – DrakaSAN

+0

@ user3006081 Я голосую, чтобы закрыть с учетом последнего комментария. * Что * говорит нет входного файла * когда *? Если вы отказываетесь давать соответствующую информацию, если мы не заставляем вас за нее неоднократно, очень сложно помочь. – Praetorian

Смежные вопросы