컴파일러 오류 및 문자열 클래스가 메서드를 인식하지 못함

MrPickle5

나는 내 자신의 문자열 클래스를 만들었고 어떤 이유로 든 intellisense는 내가 명확하게 정의하고 사용하려고하는 메소드를 선택하지 않습니다. intellisense가 이러한 메서드를 선택하지 않을뿐만 아니라 컴파일하려고 할 때 빌드 오류가 발생합니다.

intellisense가 선택하는 유일한 방법은 Display(). Test()그리고 수업 GetString()에서 찾을 수 없으며 컴파일하려고 할 때 String말합니다 There is no member Test() and no member GetString.

string.cpp

#include "String.h"
#include <iostream>

using std::cout;
using std::endl;

String::String() :m_SingleChar('\0'), m_CString(nullptr)
{ }

String::String(char Character) : m_SingleChar(Character)
{ }

String::String(char * CharacterString)
{
    if (CharacterString != nullptr)
    {
        m_CString = new char [strlen(CharacterString) + 1];
        strcpy (m_CString, CharacterString);
    }
}

String::~String()
{
    delete [] m_CString;
}

String::String(const String & copy) : m_SingleChar(copy.m_SingleChar)
{
    if (copy.m_CString != nullptr)
    {
        m_CString = new char [strlen(copy.m_CString) + 1];
        strcpy (m_CString, copy.m_CString);
    }
}

String & String::operator = (const String & rhs)
{
    if (this != &rhs)
    {
        delete [] m_CString;
        if(rhs.m_CString == nullptr)
            m_CString = nullptr;
        else
        {
            m_CString = new char[strlen(rhs.m_CString) + 1];
            strcpy (m_CString, rhs.m_CString);
        }
        m_SingleChar = rhs.m_SingleChar;
    }
    return *this;
}

char * String::GetString(String m_CString)
{
    char * Cstring = m_CString.m_CString;
    return Cstring;
}

void String::Test()
{
}

void String::Display()
{
    cout << "Single character: " << m_SingleChar << endl;
    cout << "C String:  " << m_CString << endl;
}

string.h

#ifndef STRING_H
#define STRING_H


class String
{
public:
    String();
    String(char Character);
    String(char * CharacterString);
    ~String();
    String(const String & copy);
    String & operator = (const String & rhs);
    char * GetString (String CString);
    void Test();
    void Display();

private:
    char m_SingleChar;
    char * m_CString;
};

#endif

이 줄에서 오류 메시지와 함께 정확한 오류가 발생합니다.

Error   1   error C2039: 'Test' : is not a member of 'String'       
23  1   Potion Class     2

...

int * Potion::GetMoney (int * coins)
{
    String something;
    something.Test();  //Error occurs here

    return coins;
}

클래스가 컴파일되지 않는 이유를 아는 사람이 있습니까?

사람이 컴파일러가 말하는 이유를 알고 있나요 void Test()char * GetString내 문자열 클래스의 멤버로 인식되지 않는다?

유비

Microsoft Visual C ++ 2005에서 string.h와 string.cpp를 모두 컴파일했으며 지정한 오류가 발생하지 않았습니다.

C ++ 11을 사용하지 않기 때문에 로 교체 nullptr했습니다 NULL. 또한 & 로 대체 strcpy하여 strcpy_s컴파일됩니다.

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

TypeScript 컴파일러가 내 보낸 클래스를 인식하지 못함

분류에서Dev

cs50 철자 컴파일러 오류를 이해하지 못함

분류에서Dev

컴파일러가 아키텍처를 인식하지 못함

분류에서Dev

QtCreator가 msbuild 컴파일 오류 / 경고를 구문 분석하지 못함

분류에서Dev

보이드를 서로 넣는 오류 (& 컴파일러가 코드를 얻지 못함)

분류에서Dev

동적 인수를 사용하여 일반 확장 메서드를 호출 할 때 C # 컴파일러가 잘못된 오류와 함께 실패합니다.

분류에서Dev

클래스 상속 : 컴파일러에서 인식되지 않는 클래스의 생성자 및 멤버 함수

분류에서Dev

컴파일러에서 오류가 발생하지 않지만 문자 발생 프로그램에서 정답을 얻지 못함

분류에서Dev

열거 및 식별자 목록의 길이가 일치하지 않으면 컴파일러 오류 발생

분류에서Dev

템플릿의 두 번째 람다 함수로 인해 컴파일 오류가 발생 함 (Intellisense가 문제를 감지하지 못함)-오류 C2988

분류에서Dev

컴파일러에서 클래스 생성자에 대한 오류를 던지지 않음 구문 오류가 있습니다.

분류에서Dev

C #에서 마지막 WriteLine 메서드의 텍스트 문자열을 표시하려고합니다. 컴파일러 오류 가져 오기

분류에서Dev

컴파일러가 올바른 함수 오버로드를 찾지 못함

분류에서Dev

Java 파일 및 파일 클래스 모두 UNC 디렉토리를 인식하지 못함

분류에서Dev

Angular2 컴파일러 -cli가 [ngClass] 또는 * ngIf를 인식하지 못함

분류에서Dev

FFmpeg가 비디오 파일을 인식하지 못함-비디오 및 오디오를 mux 할 수 없음

분류에서Dev

자바 자세한를 컴파일 오류가 문자 클래스와 단어 경계와 정규식

분류에서Dev

컴파일러가 NSTimeInterval에서 Nil Coalescing 연산자를 이해하지 못함

분류에서Dev

변형 멤버가 포함 된 가변 템플릿 클래스와 함께 ostream '<<'연산자 오버로드에서 std :: endl을 사용하면 컴파일러 오류가 발생합니다.

분류에서Dev

설명서에도 불구하고 클래스 메서드에 대한 함수 오버로딩은 컴파일러 오류입니다.

분류에서Dev

time.ctime ()을 사용할 때 컴파일러가 잘못된 구문 오류를 반환 함

분류에서Dev

Bash가 문자열을 동일하게 인식하지 못함

분류에서Dev

Python 클래스 파일의 int 및 문자열 오류

분류에서Dev

클래스 라이브러리에서보기-솔루션 탐색기가 오류를 표시하지만 문제없이 컴파일됩니다.

분류에서Dev

컴파일러가 내가 Maven 종속성으로 가지고있는 클래스를 찾지 못함

분류에서Dev

제네릭 클래스 외부에서 함수를 정의하면 컴파일 오류가 발생합니다.

분류에서Dev

Scala 개체에서 하위 클래스의 메서드에 액세스하는 동안 컴파일러 오류

분류에서Dev

functions.php 파일의 구문 오류가 Chrome 페이지를 localhost에서로드하지 못함

분류에서Dev

파일 클래스가 Exists 또는 CreateText 메서드를 인식하지 못합니다.

Related 관련 기사

  1. 1

    TypeScript 컴파일러가 내 보낸 클래스를 인식하지 못함

  2. 2

    cs50 철자 컴파일러 오류를 이해하지 못함

  3. 3

    컴파일러가 아키텍처를 인식하지 못함

  4. 4

    QtCreator가 msbuild 컴파일 오류 / 경고를 구문 분석하지 못함

  5. 5

    보이드를 서로 넣는 오류 (& 컴파일러가 코드를 얻지 못함)

  6. 6

    동적 인수를 사용하여 일반 확장 메서드를 호출 할 때 C # 컴파일러가 잘못된 오류와 함께 실패합니다.

  7. 7

    클래스 상속 : 컴파일러에서 인식되지 않는 클래스의 생성자 및 멤버 함수

  8. 8

    컴파일러에서 오류가 발생하지 않지만 문자 발생 프로그램에서 정답을 얻지 못함

  9. 9

    열거 및 식별자 목록의 길이가 일치하지 않으면 컴파일러 오류 발생

  10. 10

    템플릿의 두 번째 람다 함수로 인해 컴파일 오류가 발생 함 (Intellisense가 문제를 감지하지 못함)-오류 C2988

  11. 11

    컴파일러에서 클래스 생성자에 대한 오류를 던지지 않음 구문 오류가 있습니다.

  12. 12

    C #에서 마지막 WriteLine 메서드의 텍스트 문자열을 표시하려고합니다. 컴파일러 오류 가져 오기

  13. 13

    컴파일러가 올바른 함수 오버로드를 찾지 못함

  14. 14

    Java 파일 및 파일 클래스 모두 UNC 디렉토리를 인식하지 못함

  15. 15

    Angular2 컴파일러 -cli가 [ngClass] 또는 * ngIf를 인식하지 못함

  16. 16

    FFmpeg가 비디오 파일을 인식하지 못함-비디오 및 오디오를 mux 할 수 없음

  17. 17

    자바 자세한를 컴파일 오류가 문자 클래스와 단어 경계와 정규식

  18. 18

    컴파일러가 NSTimeInterval에서 Nil Coalescing 연산자를 이해하지 못함

  19. 19

    변형 멤버가 포함 된 가변 템플릿 클래스와 함께 ostream '<<'연산자 오버로드에서 std :: endl을 사용하면 컴파일러 오류가 발생합니다.

  20. 20

    설명서에도 불구하고 클래스 메서드에 대한 함수 오버로딩은 컴파일러 오류입니다.

  21. 21

    time.ctime ()을 사용할 때 컴파일러가 잘못된 구문 오류를 반환 함

  22. 22

    Bash가 문자열을 동일하게 인식하지 못함

  23. 23

    Python 클래스 파일의 int 및 문자열 오류

  24. 24

    클래스 라이브러리에서보기-솔루션 탐색기가 오류를 표시하지만 문제없이 컴파일됩니다.

  25. 25

    컴파일러가 내가 Maven 종속성으로 가지고있는 클래스를 찾지 못함

  26. 26

    제네릭 클래스 외부에서 함수를 정의하면 컴파일 오류가 발생합니다.

  27. 27

    Scala 개체에서 하위 클래스의 메서드에 액세스하는 동안 컴파일러 오류

  28. 28

    functions.php 파일의 구문 오류가 Chrome 페이지를 localhost에서로드하지 못함

  29. 29

    파일 클래스가 Exists 또는 CreateText 메서드를 인식하지 못합니다.

뜨겁다태그

보관