lordla   3년 전

비쥬얼 스튜디오로  컴파일했을땐 오류가 없었고 

이상한 문자가 들어갔나 싶어서 하나하나 다시쳐서 넣어도 똑같이 오류가 뜹니다....

도저히 문제를 모르겠습니다. 코드 자체가 문제인지 

다른 방법으로 풀어야 되나요?

Main.cs(18,19): error CS1525: Unexpected symbol `(', expecting `,', `;', or `='
Main.cs(18,27): error CS1525: Unexpected symbol `int', expecting `,', `;', or `='
Main.cs(24,16): error CS1519: Unexpected symbol `else' in class, struct, or interface member declaration
Main.cs(25,13): error CS9010: Primary constructor body is not allowed
Main.cs(29,8): error CS1525: Unexpected symbol `int'

dldyddlwl   3년 전

제가 C# 문법을 자세히는 모르겠습니다만,  아래 코드가 함수 안에서 또 함수를 정의하는 격이 되는거 아닐까요?

compare랑 revers 함수를 따로 별개의 함수로 빼내니깐 컴파일 잘 되네요

int compare(int a, int b)
{
if (a > b)
{
return a;
}
else
{
return b;
}
}
int revers(int args)
{
int n = 0;
int before = args;

do
{
n = n + before % 10;
before = before / 10;
n = n * 10;
} while (before / 10 > 0);

n = n + before;
return n;
}

lordla   3년 전

와 감사합니다. 말씀대로 함수 다지우고 해보니 되네요 ;; 

근데 왜 백준에서만 이러는지 모르겟네요

dldyddlwl   3년 전

아무래도 vs와 백준의 컴파일 환경이 달라서 그런 것 같습니다. 예를 들어, 컴파일러 버전이 다르다던가 같은 이유로 말이죠.

혹시나 해서 찾아보니까, 다른 분들도 유독 c#만 컴파일 문제가 있는 것 같다고 하시고, 실제로도 버전이 낮아서 그랬다는 글도 있더군요(6년전이긴 하지만...)

사실, 중요한건 나의 환경에서 되는 것보다는 결국 채점하는곳(또는 실행해야할 환경)에서 컴파일 되는 것이겠죠!

seico75   3년 전

local function 은 C# 7 부터 지원인 것 같고, 백준사이트는 C# 3 인것 같습니다.

아무래도 ms 에서 리눅스 지원에 소홀하다보니 C#를 리눅스 서버에서 지원하는데 어려움이 있는 것 같습니다.

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