E
eric
Dear Advanced C++ programers:
from book (c++ cookbook), chapter 4, section 3: Storing Strings in a
Sequence
---------
#include <iostream>
#include <vector>
#include <exception>
using namespace std;
int main() {
char carr[] = {'a', 'b', 'c', 'd', 'e'};
cout << carr[100000] << '\n'; // Whoops, who knows what's going
// to happen
vector<char> v;
v.push_back('a');
v.push_back('b');
v.push_back('c');
v.push_back('d');
v.push_back('e');
try {
cout << v.at(10000) << '\n'; // at checks bounds and throws
} catch(out_of_range& e) { // out_of_range if it's invalid
cerr << e.what() << '\n';
}
}
----------------------------------------------------------------------
my g++ response
-----------------
eric@eric-laptop:~/cppcookbook/download$ g++ 4-7.cpp
4-7.cpp: In function ‘int main()’:
4-7.cpp:20:11: error: expected type-specifier before ‘out_of_range’
4-7.cpp:20:23: error: expected ‘)’ before ‘&’ token
4-7.cpp:20:23: error: expected ‘{’ before ‘&’ token
4-7.cpp:20:25: error: ‘e’ was not declared in this scope
4-7.cpp:20:26: error: expected ‘;’ before ‘)’ token
from book (c++ cookbook), chapter 4, section 3: Storing Strings in a
Sequence
---------
#include <iostream>
#include <vector>
#include <exception>
using namespace std;
int main() {
char carr[] = {'a', 'b', 'c', 'd', 'e'};
cout << carr[100000] << '\n'; // Whoops, who knows what's going
// to happen
vector<char> v;
v.push_back('a');
v.push_back('b');
v.push_back('c');
v.push_back('d');
v.push_back('e');
try {
cout << v.at(10000) << '\n'; // at checks bounds and throws
} catch(out_of_range& e) { // out_of_range if it's invalid
cerr << e.what() << '\n';
}
}
----------------------------------------------------------------------
my g++ response
-----------------
eric@eric-laptop:~/cppcookbook/download$ g++ 4-7.cpp
4-7.cpp: In function ‘int main()’:
4-7.cpp:20:11: error: expected type-specifier before ‘out_of_range’
4-7.cpp:20:23: error: expected ‘)’ before ‘&’ token
4-7.cpp:20:23: error: expected ‘{’ before ‘&’ token
4-7.cpp:20:25: error: ‘e’ was not declared in this scope
4-7.cpp:20:26: error: expected ‘;’ before ‘)’ token