kcj1607   2년 전

문제에서 함수만 쓰라 해서 코드 전체를 다 안 올리고, 해당 sum함수만 작성해봤는데요.

자꾸 컴파일 에러라고 떠요.

이거 벌써 10번째 트라인데, 코드 쓰면서 이걸 얘가 인식을 못하나 싶어서 같은 코드를 다른 말로도 바꿔 써봤는데, 안 돼요.

자꾸 컴파일 에러라고 떠요.

아, 컴파일 에러에서 뭐라고 뜨냐면요,

/tmp/ccVqtRJl.o: In function `':
Main.cc:(.text.startup+0x17e): undefined reference to `sum(std::vector<int, std::allocator<int> >&)'
collect2: error: ld returned 1 exit status

이렇게만 나와있어요.

무슨 의미인가요?

전 암만 봐도 제 코드에 문제가 안보여요;

dldyddlwl   2년 전

c++로 하셨으면 매개변수가 벡터입니다.

그래서  밑에 보시면 벡터 보이시죠?!

C++, C++11, C++14, C++17, C++ (Clang), C++11 (Clang), C++14 (Clang), C++17 (Clang): long long sum(std::vector<int> &a);

sum(std::vector<int, std::allocator<int> >&)'

kcj1607   2년 전

설...마사카 이런 일이;

저는 아직 C++을 안 배워서 C언어만 쓰고 있는 C유저인데요.

여태껏 문제를 풀면서 C언어로 작성한 코드를 C++17로 해놔도 백준 채점 프로그램이 잘 알아먹길래,

아 C++17이 C가 무슨 업데이트가 된거라고 하다더니 그런건가? 하고 놔두었었는데,

그래서 이것도 C++17설정을 그대로 놔둔 거였는데,

그래서 채점을 못 한 거군요??

이번에 C11(clang)으로 해 놓고 채점을 하니까 맞다고 뜨네요~

그럼 저 같은 C유저는 채점 시에 C11(Clang)<<이걸로 해 놔야 하나요?

C 버전에도 종류가 많더라구요

dldyddlwl   2년 전

네, 제출하실 때 보면

언어 옆에 언어설정 있거든요?

거기서 옆에 볼 언어에서

원하시는 언어를 끌어다가 맨 위로 두시면 그게 기본언어가 되어서 채점시 따로 언어 바꾸실 필요 없이 하시면 됩니다!

네, 보니까 C 종류가 많군요.

제가 알아보니까 c99보단 c11이 더 최신이고

clang이란건 gcc컴파일러를 대체하는 것이라고 하네요.

그래서 제 생각은 그냥 c11이나 c99를 쓰시면 될 것 같습니다!! 감사합니다

kcj1607   2년 전

친절하게 알려주셔서 감사합니다~

완전 최고!

djm03178   2년 전

C++이 C를 발전시킨 형태이기 때문에 C의 거의 대부분의 문법을 그대로 지원하기 때문에 대부분의 C 코드가 C++로 컴파일은 되지만 둘은 어쨌든 다른 언어입니다. C로 푼 코드는 C로 제출하시는 것이 제일 안전합니다.

alkh6397   2년 전

아씨 나도 이거 이제 알아가지고 6트에 성공함 ㅋㅋㅋ

댓글을 작성하려면 로그인해야 합니다.