» »

[c++] auto

[c++] auto

killa bee ::

Zakaj mi napiše to napako za to kodo ?

#include <iostream>
using namespace std; 

int main()
{
	string s = "Keep out!";
	for(auto &c : s){/**/}
	return 0;
}




error:
g++     test.cpp   -o test
test.cpp: In function &#8216;int main()&#8217;:
test.cpp:9:12: error: ISO C++ forbids declaration of &#8216;c&#8217; with no type [-fpermissive]
  for(auto &c : s){/**/}
            ^
test.cpp:9:16: error: range-based &#8216;for&#8217; loops are not allowed in C++98 mode
  for(auto &c : s){/**/}
                ^
make: *** [test] Error 1
  • spremenilo: killa bee ()

Mavrik ::

Ker uporabljaš lastnosti C++-a, ki so bile standardizirane in dodane komaj v standardu C++11, g++ pa privzeto uporabi standard C++98.

Mislim, a tole ni dovolj jasno: "error: range-based ‘for’ loops are not allowed in C++98 mode"?

Uporabi "-std=c++11" parameter če želiš uporabljati for notacijo z dvopičjem, auto in ostale C++11 stvari.
The truth is rarely pure and never simple.

killa bee ::

kako pa bi potem moral izgledati ukaz za compile a, tako?

make test -std=c++11


s tem ukazom pa skompila
g++ test.cpp -o test -std=c++11

Zgodovina sprememb…

  • spremenilo: killa bee ()

Mavrik ::

"-std" je parameter za C++ prevajalnik, ne vem kaj misliš doseči s tem da ga daš "make". Se mi zdi da ne razumeš čisto kako se C++ koda prevaja... ali popravi Makefile ali pa dodaj v CXXFLAGS.
The truth is rarely pure and never simple.

killa bee ::

kako bi ga pa lahko za skoz nastavil na c++11, Zakaj pa ni že po defaultu na c++11?

ragezor ::

Napisati moras Makefile, kjer noter napises kako se skompajla tvoj projekt.

zaenkrat ti ukaz make deluje tudi brez Makefila, ker pac pogleda, ce je makefile in ce vidi, da ga ni, uporabi default kompajlanje g++ test.cpp -o test oziroma nekaj podobnega. Ce bi pa rad kostumiziral pa moras napisati Makefile.

Zgodovina sprememb…

  • spremenil: ragezor ()

killa bee ::

jst sm mislil da bi raj nastavil kompiler da vedno upošteva "-std=c++11" ?


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Kako zagnati ''program'' C++

Oddelek: Programiranje
71190 (1017) WhiteAngel
»

C - shranjevanje rezultatov iz baze v array

Oddelek: Programiranje
71231 (930) Randomness
»

Makefile in c++

Oddelek: Programiranje
253080 (2120) Looooooka
»

c++ compiling

Oddelek: Programiranje
5997 (938) Gundolf
»

linux in gcc

Oddelek: Operacijski sistemi
101509 (1380) pecorin

Več podobnih tem