Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

error: ‘i’ does not name a type with auto [duplicate]

Tags:

c++

vector

I am new to C++,here is my program

#include <iostream>
#include <fstream>
#include <algorithm>
#include <vector>
#include <functional>  

int main(){

static const double arr[] = {16.0,2.2,77.5,29.0,24.0};
std::vector<double> vec (arr, arr + sizeof(arr) / sizeof(arr[0]) );

std::transform(vec.begin(), vec.end(), vec.begin(),bind2nd(std::minus<double>(), 3.0)); 

for (auto i = vec.begin(); i != vec.end(); ++i)
    std::cout << *i << ' ';

}

When I try to compile with g++ p1.cpp -o p1

p1.cpp: In function ‘int main()’:
p1.cpp:14:11: error: ‘i’ does not name a type
 for (auto i = vec.begin(); i != vec.end(); ++i)

I know that there more ways to print the vector,but why is this not working?

like image 909
Sinisha Avatar asked Oct 09 '15 14:10

Sinisha


People also ask

How to use auto type in C++?

To use the auto keyword, use it instead of a type to declare a variable, and specify an initialization expression. In addition, you can modify the auto keyword by using specifiers and declarators such as const , volatile , pointer ( * ), reference ( & ), and rvalue reference ( && ).

What is not name a type error message?

The "error does not name a type" in C/C++ is defined as the when user declares outside of the function or does not include it properly in the main file this error will through.

What is auto data type in C++?

The auto keyword in C++ automatically detects and assigns a data type to the variable with which it is used. The compiler analyses the variable's data type by looking at its initialization. It is necessary to initialize the variable when declaring it using the auto keyword.

What is not declared in this scope error C++?

To resolve this error, a first method that is helpful would be declaring the function prototype before the main() method. So, we have used the function prototype before the main method in the updated code. When we have compiled the code, it throws no exceptions and runs properly.


1 Answers

You should try with -std=c++11 . Works fine after that.

./p1
13 -0.8 74.5 26 21 
like image 61
Richard Rublev Avatar answered Sep 28 '22 15:09

Richard Rublev