あるソースをコンパイルした。
include行を省略している。
適当に3つ4つincludeしてみた。
リンクエラーが取れない。
<この項は書きかけです。順次追記します。>
$ cc main.cpp
main.cpp:1:17: warning: using directive refers to implicitly-defined namespace
'std'
using namespace std;
^
main.cpp:4:5: error: use of undeclared identifier 'vector'
vector<int> a(6);
^
main.cpp:4:15: error: expected '(' for function-style cast or type construction
vector<int> a(6);
~~~^
main.cpp:4:17: error: use of undeclared identifier 'a'
vector<int> a(6);
^
main.cpp:5:5: error: use of undeclared identifier 'vector'
vector<vector<int>>b = { {0,0,1},{1,0,0} ,{0,1,0} ,{0,-1,0} ,{-1,0,0...
^
main.cpp:5:12: error: use of undeclared identifier 'vector'
vector<vector<int>>b = { {0,0,1},{1,0,0} ,{0,1,0} ,{0,-1,0} ,{-1,0,0...
^
main.cpp:5:22: error: expected '(' for function-style cast or type construction
vector<vector<int>>b = { {0,0,1},{1,0,0} ,{0,1,0} ,{0,-1,0} ,{-1,0,0...
~~~^
main.cpp:5:24: error: use of undeclared identifier 'b'
vector<vector<int>>b = { {0,0,1},{1,0,0} ,{0,1,0} ,{0,-1,0} ,{-1,0,0...
^
main.cpp:5:28: error: expected expression
vector<vector<int>>b = { {0,0,1},{1,0,0} ,{0,1,0} ,{0,-1,0} ,{-1,0,0...
^
main.cpp:6:5: error: unknown type name 'lint'; did you mean 'int'?
rep(i, 6)cin >> a[i];
^
main.cpp:2:23: note: expanded from macro 'rep'
#define rep(i, n) for(lint i = 0; i < (lint)(n); i++)
^
main.cpp:6:5: error: use of undeclared identifier 'lint'; did you mean 'int'?
main.cpp:2:40: note: expanded from macro 'rep'
#define rep(i, n) for(lint i = 0; i < (lint)(n); i++)
^
main.cpp:6:14: error: use of undeclared identifier 'cin'
rep(i, 6)cin >> a[i];
^
main.cpp:6:21: error: use of undeclared identifier 'a'
rep(i, 6)cin >> a[i];
^
main.cpp:7:5: error: unknown type name 'string'
string junk; getline(cin, junk);
^
main.cpp:7:26: error: use of undeclared identifier 'cin'
string junk; getline(cin, junk);
^
main.cpp:8:5: error: unknown type name 'string'
string text;
^
main.cpp:9:13: error: use of undeclared identifier 'cin'
getline(cin,text);
^
main.cpp:11:5: error: unknown type name 'lint'; did you mean 'int'?
rep(i,6){
^
main.cpp:2:23: note: expanded from macro 'rep'
#define rep(i, n) for(lint i = 0; i < (lint)(n); i++)
^
main.cpp:11:5: error: use of undeclared identifier 'lint'; did you mean 'int'?
main.cpp:2:40: note: expanded from macro 'rep'
#define rep(i, n) for(lint i = 0; i < (lint)(n); i++)
^
main.cpp:12:21: warning: range-based for loop is a C++11 extension
[-Wc++11-extensions]
for (char c : text) {
^
main.cpp:14:23: error: use of undeclared identifier 'b'
buf = b[i][2];
^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
2 warnings and 20 errors generated.
$ cc main.cpp
main.cpp:8:22: error: a space is required between consecutive right angle
brackets (use '> >')
vector<vector<int>>b = { {0,0,1},{1,0,0} ,{0,1,0} ,{0,-1,0} ,{-1,0,0...
^~
> >
main.cpp:8:24: error: non-aggregate type 'vector<vector<int> >' cannot be
initialized with an initializer list
...b = { {0,0,1},{1,0,0} ,{0,1,0} ,{0,-1,0} ,{-1,0,0} ,{0,0,-1} };
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
main.cpp:9:5: error: unknown type name 'lint'
rep(i, 6)cin >> a[i];
^
main.cpp:5:23: note: expanded from macro 'rep'
#define rep(i, n) for(lint i = 0; i < (lint)(n); i++)
^
main.cpp:9:5: error: use of undeclared identifier 'lint'
main.cpp:5:40: note: expanded from macro 'rep'
#define rep(i, n) for(lint i = 0; i < (lint)(n); i++)
^
main.cpp:14:5: error: unknown type name 'lint'
rep(i,6){
^
main.cpp:5:23: note: expanded from macro 'rep'
#define rep(i, n) for(lint i = 0; i < (lint)(n); i++)
^
main.cpp:14:5: error: use of undeclared identifier 'lint'
main.cpp:5:40: note: expanded from macro 'rep'
#define rep(i, n) for(lint i = 0; i < (lint)(n); i++)
^
main.cpp:15:21: warning: range-based for loop is a C++11 extension
[-Wc++11-extensions]
for (char c : text) {
^
main.cpp:38:5: error: unknown type name 'lint'
rep(i, 6)if (b[i][2] == 1)cout << a[i]<<"\n";
^
main.cpp:5:23: note: expanded from macro 'rep'
#define rep(i, n) for(lint i = 0; i < (lint)(n); i++)
^
main.cpp:38:5: error: use of undeclared identifier 'lint'
main.cpp:5:40: note: expanded from macro 'rep'
#define rep(i, n) for(lint i = 0; i < (lint)(n); i++)
^
1 warning and 8 errors generated.
lintをintに修正。
$ cc main2.cpp
main2.cpp:8:22: error: a space is required between consecutive right angle
brackets (use '> >')
vector<vector<int>>b = { {0,0,1},{1,0,0} ,{0,1,0} ,{0,-1,0} ,{-1,0,0...
^~
> >
main2.cpp:8:24: error: non-aggregate type 'vector<vector<int> >' cannot be
initialized with an initializer list
...b = { {0,0,1},{1,0,0} ,{0,1,0} ,{0,-1,0} ,{-1,0,0} ,{0,0,-1} };
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
main2.cpp:15:21: warning: range-based for loop is a C++11 extension
[-Wc++11-extensions]
for (char c : text) {
^
1 warning and 2 errors generated.
エラー「non-aggregate type 'vector' cannot be initialized with an initializer list」の対処方法
https://marycore.jp/prog/xcode/non-aggregate-type-cannot-be-initialized-with-an-initializer/
$ cc main2.cpp -std=c++11
Undefined symbols for architecture x86_64:
"std::__1::__vector_base_common<true>::__throw_length_error() const", referenced from:
std::__1::vector<int, std::__1::allocator<int> >::allocate(unsigned long) in main2-6b74d0.o
std::__1::vector<std::__1::vector<int, std::__1::allocator<int> >, std::__1::allocator<std::__1::vector<int, std::__1::allocator<int> > > >::allocate(unsigned long) in main2-6b74d0.o
"std::__1::locale::use_facet(std::__1::locale::id&) const", referenced from:
_main in main2-6b74d0.o
std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::__put_character_sequence<char, std::__1::char_traits<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, char const*, unsigned long) in main2-6b74d0.o
"std::__1::ios_base::getloc() const", referenced from:
_main in main2-6b74d0.o
std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::__put_character_sequence<char, std::__1::char_traits<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, char const*, unsigned long) in main2-6b74d0.o
"std::logic_error::logic_error(char const*)", referenced from:
std::__1::vector<int, std::__1::allocator<int> >::allocate(unsigned long) in main2-6b74d0.o
std::__1::vector<std::__1::vector<int, std::__1::allocator<int> >, std::__1::allocator<std::__1::vector<int, std::__1::allocator<int> > > >::allocate(unsigned long) in main2-6b74d0.o
"std::length_error::~length_error()", referenced from:
std::__1::vector<int, std::__1::allocator<int> >::allocate(unsigned long) in main2-6b74d0.o
std::__1::vector<std::__1::vector<int, std::__1::allocator<int> >, std::__1::allocator<std::__1::vector<int, std::__1::allocator<int> > > >::allocate(unsigned long) in main2-6b74d0.o
"std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::__init(unsigned long, char)", referenced from:
std::__1::ostreambuf_iterator<char, std::__1::char_traits<char> > std::__1::__pad_and_output<char, std::__1::char_traits<char> >(std::__1::ostreambuf_iterator<char, std::__1::char_traits<char> >, char const*, char const*, char const*, std::__1::ios_base&, char) in main2-6b74d0.o
"std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::push_back(char)", referenced from:
std::__1::basic_istream<char, std::__1::char_traits<char> >& std::__1::getline<char, std::__1::char_traits<char>, std::__1::allocator<char> >(std::__1::basic_istream<char, std::__1::char_traits<char> >&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, char) in main2-6b74d0.o
"std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::~basic_string()", referenced from:
_main in main2-6b74d0.o
std::__1::ostreambuf_iterator<char, std::__1::char_traits<char> > std::__1::__pad_and_output<char, std::__1::char_traits<char> >(std::__1::ostreambuf_iterator<char, std::__1::char_traits<char> >, char const*, char const*, char const*, std::__1::ios_base&, char) in main2-6b74d0.o
"std::__1::basic_istream<char, std::__1::char_traits<char> >::sentry::sentry(std::__1::basic_istream<char, std::__1::char_traits<char> >&, bool)", referenced from:
std::__1::basic_istream<char, std::__1::char_traits<char> >& std::__1::getline<char, std::__1::char_traits<char>, std::__1::allocator<char> >(std::__1::basic_istream<char, std::__1::char_traits<char> >&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, char) in main2-6b74d0.o
"std::__1::basic_istream<char, std::__1::char_traits<char> >::operator>>(int&)", referenced from:
_main in main2-6b74d0.o
"std::__1::basic_ostream<char, std::__1::char_traits<char> >::sentry::sentry(std::__1::basic_ostream<char, std::__1::char_traits<char> >&)", referenced from:
std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::__put_character_sequence<char, std::__1::char_traits<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, char const*, unsigned long) in main2-6b74d0.o
"std::__1::basic_ostream<char, std::__1::char_traits<char> >::sentry::~sentry()", referenced from:
std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::__put_character_sequence<char, std::__1::char_traits<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, char const*, unsigned long) in main2-6b74d0.o
"std::__1::basic_ostream<char, std::__1::char_traits<char> >::operator<<(int)", referenced from:
_main in main2-6b74d0.o
"std::__1::cin", referenced from:
_main in main2-6b74d0.o
"std::__1::cout", referenced from:
_main in main2-6b74d0.o
"std::__1::ctype<char>::id", referenced from:
_main in main2-6b74d0.o
std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::__put_character_sequence<char, std::__1::char_traits<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, char const*, unsigned long) in main2-6b74d0.o
"std::__1::locale::~locale()", referenced from:
_main in main2-6b74d0.o
std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::__put_character_sequence<char, std::__1::char_traits<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, char const*, unsigned long) in main2-6b74d0.o
"std::__1::ios_base::__set_badbit_and_consider_rethrow()", referenced from:
std::__1::basic_istream<char, std::__1::char_traits<char> >& std::__1::getline<char, std::__1::char_traits<char>, std::__1::allocator<char> >(std::__1::basic_istream<char, std::__1::char_traits<char> >&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, char) in main2-6b74d0.o
std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::__put_character_sequence<char, std::__1::char_traits<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, char const*, unsigned long) in main2-6b74d0.o
"std::__1::ios_base::clear(unsigned int)", referenced from:
std::__1::basic_istream<char, std::__1::char_traits<char> >& std::__1::getline<char, std::__1::char_traits<char>, std::__1::allocator<char> >(std::__1::basic_istream<char, std::__1::char_traits<char> >&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, char) in main2-6b74d0.o
std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::__put_character_sequence<char, std::__1::char_traits<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, char const*, unsigned long) in main2-6b74d0.o
"std::terminate()", referenced from:
___clang_call_terminate in main2-6b74d0.o
"typeinfo for std::length_error", referenced from:
std::__1::vector<int, std::__1::allocator<int> >::allocate(unsigned long) in main2-6b74d0.o
std::__1::vector<std::__1::vector<int, std::__1::allocator<int> >, std::__1::allocator<std::__1::vector<int, std::__1::allocator<int> > > >::allocate(unsigned long) in main2-6b74d0.o
"vtable for std::length_error", referenced from:
std::__1::vector<int, std::__1::allocator<int> >::allocate(unsigned long) in main2-6b74d0.o
std::__1::vector<std::__1::vector<int, std::__1::allocator<int> >, std::__1::allocator<std::__1::vector<int, std::__1::allocator<int> > > >::allocate(unsigned long) in main2-6b74d0.o
NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
"operator delete(void*)", referenced from:
std::__1::__vector_base<int, std::__1::allocator<int> >::~__vector_base() in main2-6b74d0.o
std::__1::__vector_base<std::__1::vector<int, std::__1::allocator<int> >, std::__1::allocator<std::__1::vector<int, std::__1::allocator<int> > > >::~__vector_base() in main2-6b74d0.o
"operator new(unsigned long)", referenced from:
std::__1::vector<int, std::__1::allocator<int> >::allocate(unsigned long) in main2-6b74d0.o
std::__1::vector<std::__1::vector<int, std::__1::allocator<int> >, std::__1::allocator<std::__1::vector<int, std::__1::allocator<int> > > >::allocate(unsigned long) in main2-6b74d0.o
"___cxa_allocate_exception", referenced from:
std::__1::vector<int, std::__1::allocator<int> >::allocate(unsigned long) in main2-6b74d0.o
std::__1::vector<std::__1::vector<int, std::__1::allocator<int> >, std::__1::allocator<std::__1::vector<int, std::__1::allocator<int> > > >::allocate(unsigned long) in main2-6b74d0.o
"___cxa_begin_catch", referenced from:
___clang_call_terminate in main2-6b74d0.o
std::__1::basic_istream<char, std::__1::char_traits<char> >& std::__1::getline<char, std::__1::char_traits<char>, std::__1::allocator<char> >(std::__1::basic_istream<char, std::__1::char_traits<char> >&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, char) in main2-6b74d0.o
std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::__put_character_sequence<char, std::__1::char_traits<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, char const*, unsigned long) in main2-6b74d0.o
"___cxa_end_catch", referenced from:
std::__1::basic_istream<char, std::__1::char_traits<char> >& std::__1::getline<char, std::__1::char_traits<char>, std::__1::allocator<char> >(std::__1::basic_istream<char, std::__1::char_traits<char> >&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, char) in main2-6b74d0.o
std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::__put_character_sequence<char, std::__1::char_traits<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, char const*, unsigned long) in main2-6b74d0.o
"___cxa_free_exception", referenced from:
std::__1::vector<int, std::__1::allocator<int> >::allocate(unsigned long) in main2-6b74d0.o
std::__1::vector<std::__1::vector<int, std::__1::allocator<int> >, std::__1::allocator<std::__1::vector<int, std::__1::allocator<int> > > >::allocate(unsigned long) in main2-6b74d0.o
"___cxa_throw", referenced from:
std::__1::vector<int, std::__1::allocator<int> >::allocate(unsigned long) in main2-6b74d0.o
std::__1::vector<std::__1::vector<int, std::__1::allocator<int> >, std::__1::allocator<std::__1::vector<int, std::__1::allocator<int> > > >::allocate(unsigned long) in main2-6b74d0.o
"___gxx_personality_v0", referenced from:
_main in main2-6b74d0.o
std::__1::vector<int, std::__1::allocator<int> >::vector(unsigned long) in main2-6b74d0.o
std::__1::vector<int, std::__1::allocator<int> >::allocate(unsigned long) in main2-6b74d0.o
std::__1::vector<std::__1::vector<int, std::__1::allocator<int> >, std::__1::allocator<std::__1::vector<int, std::__1::allocator<int> > > >::allocate(unsigned long) in main2-6b74d0.o
std::__1::vector<int, std::__1::allocator<int> >::vector(std::__1::vector<int, std::__1::allocator<int> > const&) in main2-6b74d0.o
std::__1::basic_istream<char, std::__1::char_traits<char> >& std::__1::getline<char, std::__1::char_traits<char>, std::__1::allocator<char> >(std::__1::basic_istream<char, std::__1::char_traits<char> >&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, char) in main2-6b74d0.o
std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::__put_character_sequence<char, std::__1::char_traits<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, char const*, unsigned long) in main2-6b74d0.o
...
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
現在のソース。
main.cpp
#include <iostream>
#include <string>
#include <vector>
#include <memory>
using namespace std;
#define rep(i, n) for(int i = 0; i < (int)(n); i++)
int main() {
vector<int> a(6);
vector<vector<int> > b = { {0,0,1},{1,0,0} ,{0,1,0} ,{0,-1,0} ,{-1,0,0} ,{0,0,-1} };
rep(i, 6)cin >> a[i];
string junk; getline(cin, junk);
string text;
getline(cin,text);
int buf;
rep(i,6){
for (char c : text) {
if (c == 'E') {
buf = b[i][2];
b[i][2] = -b[i][1];
b[i][1] = buf;
}
if (c == 'W') {
buf = b[i][2];
b[i][2] = b[i][1];
b[i][1] = -buf;
}
if (c == 'S') {
buf = b[i][2];
b[i][2] = -b[i][0];
b[i][0] = buf;
}
if (c == 'N') {
buf = b[i][2];
b[i][2] = b[i][0];
b[i][0] = -buf;
}
}
}
rep(i, 6)if (b[i][2] == 1)cout << a[i]<<"\n";
}
<この記事は個人の過去の経験に基づく個人の感想です。現在所属する組織、業務とは関係がありません。>
最後までおよみいただきありがとうございました。
いいね 💚、フォローをお願いします。
Thank you very much for reading to the last sentence.
Please press the like icon 💚 and follow me for your happy life.