char * 유형의 값은 "char"유형의 엔티티를 초기화하는 데 사용할 수 없습니다.

단 시아

탭으로 구분 된 example.txt파일 :

1    MODEL1
2    MODEL2
3    MODEL3

내 주요:

int main()
{
    int number;
    char model[6];
    list myList;

    ifstream infile;
    infile.open("example.txt");

    //reading first line from file
    infile >> (int)number;
    infile >> model;
    myList.Insert({ number, model}, 1); // error here on model

    return 0;
}

myList 클래스의 의사 :

struct data{
    int number;
    char model[6];
};

struct Node{
    data data;
    ...
};

Node = myNode[100]

void Insert(data x, int position)
{
    myNode[position].data = x;
}

example.txt파일 에서 두 번째 행의 문자를 읽는 데 문제가 있습니다. MODEL1, MODEL2, MODEL3을 myList로 어떻게 읽습니까?

엠 라이

{number, model}멤버 변수 model를 local의 복사본으로 초기화하려고 model하지만 원시 배열을 복사 초기화 할 수 없습니다.

다음을 사용해야합니다 std::string.

int main()
{
    int number;
    std::string model;
    list myList;

    ifstream infile;
    infile.open("example.txt");

    infile >> number;
    infile >> model;
    myList.Insert({number, model}, 1);
}

struct data
{
    int number;
    std::string model;
};

이것은 또한 @ user2079303 및 @JoachimPileborg가 발견 한 버퍼 오버 플로우 버그를 수정합니다.


당신은 할 수 있습니다 또한 원시 배열, 수동으로 유지 strncpy로컬 model멤버로 배열 model. 그러나 이것은 C ++에서 권장되지 않습니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

const char * 유형의 값을 char * 유형의 엔티티에 지정할 수 없습니다.

분류에서Dev

"const char *"유형의 값은 "LPSTR"유형의 엔티티에 지정할 수 없습니다.

분류에서Dev

오류 : 'const char [34]'유형의 lvalue를 사용하여 'const char'유형의 반환 개체를 초기화 할 수 없습니다.

분류에서Dev

C ++ : 조건부 유형을 사용하는 템플릿 함수에서 'double'유형의 lvalue로 'char *'유형의 매개 변수를 초기화 할 수 없습니다.

분류에서Dev

char * [2] 유형의 배열 주소를 char ***를받는 함수에 전달할 수 없습니다.

분류에서Dev

int 유형의 값은 노드 유형의 엔티티에 할당 될 수 없습니다.

분류에서Dev

'1 차원 Char of Char'유형의 값은 x.ArrayOfChar로 변환 할 수 없습니다.

분류에서Dev

오류 : (289, 23) C ++ / JNI / NDK-오류 : 'jstring'(일명 '_jstring *') 유형의 lvalue를 사용하여 'char *'유형의 매개 변수를 초기화 할 수 없습니다.

분류에서Dev

기본 유형 char에서 equals (char)를 호출 할 수 없습니다.

분류에서Dev

오류 : "double *"유형의 값을 "double"유형의 엔티티에 지정할 수 없습니다.

분류에서Dev

사용중인 데이터 유형에 문제가 있습니까? (const char *의 인수는 LPCTSTR 유형의 매개 변수와 호환되지 않습니다.)

분류에서Dev

char **를 사용하여 string 형 배열을 정의 할 수없는 이유는 무엇입니까?

분류에서Dev

형식은 'char *'유형을 지정하지만 인수의 유형은 'char **'입니다.

분류에서Dev

"빌드시 엔티티 유형을 알 수없는 경우 DBset를 사용할 수 있습니다"라는 용어는 무엇을 의미합니까?

분류에서Dev

EF Core 업데이트 엔터티 유형 'Ads'의 인스턴스를 추적 할 수 없습니다.

분류에서Dev

EF Core 업데이트 엔터티 유형 'Ads'의 인스턴스를 추적 할 수 없습니다.

분류에서Dev

"UInt32"유형의 인덱스를 사용하여 [String] 유형의 값을 첨자 할 수 없습니다.

분류에서Dev

'문자열'유형의 인덱스를 사용하여 '[CustomObject]'유형의 값을 첨자 할 수 없습니다.

분류에서Dev

배열 유형 'char [30]'은 할당 할 수 없습니다.

분류에서Dev

Error]는 단순하게 복사 할 수없는 'std :: string {aka class std :: basic_string <char>}'유형의 개체를 '...'까지 전달할 수 없습니다.

분류에서Dev

쉼표와 같은 char 유형의 배열을 설정할 수 없습니까?

분류에서Dev

'문자열'유형의 표현식은 유형 A를 색인화하는 데 사용할 수 없기 때문에 요소에 암시 적으로 '임의'유형이 있습니다.

분류에서Dev

값을 업데이트 할 수 없음 : 엔티티의 상태를 '수정 됨'으로 변경하는 동안 '기본 키'에 임시 값이 있습니다.

분류에서Dev

이 코드에서 " 'char * &'유형의 상수가 아닌 lvalue 참조를 'char *'유형의 rvalue에 바인딩 할 수 없습니다."라는 오류가 발생하는 이유는 무엇입니까?

분류에서Dev

const char * 유형 변수의 내용을 처리하면 예기치 않은 결과가 발생했습니다.

분류에서Dev

LINQ 연산자 '=='는 'char'및 'string'유형의 피연산자에 적용 할 수 없습니다.

분류에서Dev

연산자 '=='는 string 및 char 유형의 피연산자에 적용 할 수 없습니다.

분류에서Dev

Haskell에서 구체적인 유형의 엔티티를 전달하면 될 다형성 함수 유형을 인쇄 할 수 있습니까?

분류에서Dev

엔터티가 컨텍스트에 없기 때문에 'MyTable'유형의 엔터티에 대해 멤버 'CurrentValues'를 호출 할 수 없습니다.

Related 관련 기사

  1. 1

    const char * 유형의 값을 char * 유형의 엔티티에 지정할 수 없습니다.

  2. 2

    "const char *"유형의 값은 "LPSTR"유형의 엔티티에 지정할 수 없습니다.

  3. 3

    오류 : 'const char [34]'유형의 lvalue를 사용하여 'const char'유형의 반환 개체를 초기화 할 수 없습니다.

  4. 4

    C ++ : 조건부 유형을 사용하는 템플릿 함수에서 'double'유형의 lvalue로 'char *'유형의 매개 변수를 초기화 할 수 없습니다.

  5. 5

    char * [2] 유형의 배열 주소를 char ***를받는 함수에 전달할 수 없습니다.

  6. 6

    int 유형의 값은 노드 유형의 엔티티에 할당 될 수 없습니다.

  7. 7

    '1 차원 Char of Char'유형의 값은 x.ArrayOfChar로 변환 할 수 없습니다.

  8. 8

    오류 : (289, 23) C ++ / JNI / NDK-오류 : 'jstring'(일명 '_jstring *') 유형의 lvalue를 사용하여 'char *'유형의 매개 변수를 초기화 할 수 없습니다.

  9. 9

    기본 유형 char에서 equals (char)를 호출 할 수 없습니다.

  10. 10

    오류 : "double *"유형의 값을 "double"유형의 엔티티에 지정할 수 없습니다.

  11. 11

    사용중인 데이터 유형에 문제가 있습니까? (const char *의 인수는 LPCTSTR 유형의 매개 변수와 호환되지 않습니다.)

  12. 12

    char **를 사용하여 string 형 배열을 정의 할 수없는 이유는 무엇입니까?

  13. 13

    형식은 'char *'유형을 지정하지만 인수의 유형은 'char **'입니다.

  14. 14

    "빌드시 엔티티 유형을 알 수없는 경우 DBset를 사용할 수 있습니다"라는 용어는 무엇을 의미합니까?

  15. 15

    EF Core 업데이트 엔터티 유형 'Ads'의 인스턴스를 추적 할 수 없습니다.

  16. 16

    EF Core 업데이트 엔터티 유형 'Ads'의 인스턴스를 추적 할 수 없습니다.

  17. 17

    "UInt32"유형의 인덱스를 사용하여 [String] 유형의 값을 첨자 할 수 없습니다.

  18. 18

    '문자열'유형의 인덱스를 사용하여 '[CustomObject]'유형의 값을 첨자 할 수 없습니다.

  19. 19

    배열 유형 'char [30]'은 할당 할 수 없습니다.

  20. 20

    Error]는 단순하게 복사 할 수없는 'std :: string {aka class std :: basic_string <char>}'유형의 개체를 '...'까지 전달할 수 없습니다.

  21. 21

    쉼표와 같은 char 유형의 배열을 설정할 수 없습니까?

  22. 22

    '문자열'유형의 표현식은 유형 A를 색인화하는 데 사용할 수 없기 때문에 요소에 암시 적으로 '임의'유형이 있습니다.

  23. 23

    값을 업데이트 할 수 없음 : 엔티티의 상태를 '수정 됨'으로 변경하는 동안 '기본 키'에 임시 값이 있습니다.

  24. 24

    이 코드에서 " 'char * &'유형의 상수가 아닌 lvalue 참조를 'char *'유형의 rvalue에 바인딩 할 수 없습니다."라는 오류가 발생하는 이유는 무엇입니까?

  25. 25

    const char * 유형 변수의 내용을 처리하면 예기치 않은 결과가 발생했습니다.

  26. 26

    LINQ 연산자 '=='는 'char'및 'string'유형의 피연산자에 적용 할 수 없습니다.

  27. 27

    연산자 '=='는 string 및 char 유형의 피연산자에 적용 할 수 없습니다.

  28. 28

    Haskell에서 구체적인 유형의 엔티티를 전달하면 될 다형성 함수 유형을 인쇄 할 수 있습니까?

  29. 29

    엔터티가 컨텍스트에 없기 때문에 'MyTable'유형의 엔터티에 대해 멤버 'CurrentValues'를 호출 할 수 없습니다.

뜨겁다태그

보관