2012-11-19 4 views
1

키보드에서 입력을 받고 C++에서 variales로 전달하려고합니다. 나는 인수 오류가 너무 적습니다.너무 적은 인수 오류의 원인은 무엇입니까?

#include <stdio.h> 
void_fullname(char fname, char lname) { 
    printf("Enter Your First Name\n"); 
    scanf("%d", &fname); 
    printf("Enter Your Last Name\n"); 
    scanf("%d", &lname); 
    printf("Welcome: %d\n",First Name + Last Name)\n"); 
} 

int main() { 
    printf("1.Full Name\n"); 
    printf("2.Exit\n"); 
    scanf("%d", &input); 
    switch (input) { 
     case 1:   
      void_fullname(); 
      break; 
    } 

    getchar(); 
} 
+4

C# 태그를 제거하고 C++를 추가했습니다. 이것은 C#이 아닙니다. 또한, 당신은'void_fullname()'을 호출하고 있는데, 두 개의 ** ** **'char''가 그것들의 문자열이 아니기를 기대합니다. 그것이 그대로, 당신의 코드는 끔찍하게 부서지고 나는 기본적인 유형과 함수 사용법을 읽을 것을 제안 할 것이다. –

+0

코드에서 이전에 여러 컴파일러 오류가 발생하지 않았습니까? – hvd

답변

0

이 기능은 매개 변수없이 두 개의 인수, fnamelname

case 1:   
    void_fullname(); 
0

당신은 호출 void_fullname을 기대하고,이 두 매개 변수가 필요합니다.

1

당신은 그것은 당신이 당황하는지 파악하기 어렵다

switch (input) { 
    case 1:   
    void_fullname(); // Need args here 
    break; 
7

인수 void_fullname()을 포기하지 않을 것입니다. void_fullname(char fname, char lname)이라는 두 개의 매개 변수를 사용하여 함수를 작성한 다음 0 개의 매개 변수 인 void_fullname();을 호출하면 컴파일러에서 잘못 수행 한 것을 정확하게 알려줍니다. 아마도 C++에 대한 입문서를 읽는 것이 도움이 될까요?

코드에 다른 많은 오류가 있다는 것을 두려워합니다. 컴파일러 오류가 발생하면 발견하게 될 것입니다.

여기 char는 하나의 문자가 아닌 문자의 순서를 의미

1), 몇 가지 팁입니다. 이름과 같은 것에는 문자 배열이나 문자열이 필요합니다.

2) %d은 문자 데이터에서 올바른 형식 지정자가 아닙니다.

3) 함수의 매개 변수에서 데이터를 반환하려면 포인터 나 함수에 대한 참조를 전달해야합니다.

기타 등등 ... 나는 더 간단한 것으로 시작해야한다고 생각합니다. 예를 들어, 메인과 다른 기능을 쓰지 않고도 쉽게 쉽게 찾을 수 있습니다. 나중에 함수를 추가하지 않고 함수를 추가하면됩니다. 천천히 시작하고 작은 단계로 구성하십시오.

+0

내가 위의 샘플 스크립트에서 삭제되어야했는데, 나는 단지 내가 성취하고자하는 것을 설명하려고 노력했을 뿐이었다. 나는 돌아가서 더 연구 할 것이다 – user1774445

+0

불필요한 무례한 것에 대해 Downvoted. –

관련 문제