Szukaj…


błąd: „***” nie został zadeklarowany w tym zakresie

Ten błąd występuje, gdy używany jest nieznany obiekt.

Zmienne

Brak kompilacji:

#include <iostream>

int main(int argc, char *argv[])
{
    {
        int i = 2;
    }

    std::cout << i << std::endl; // i is not in the scope of the main function

    return 0;
}

Naprawić:

#include <iostream>

int main(int argc, char *argv[])
{
    {
        int i = 2;
        std::cout << i << std::endl;
    }

    return 0;
}

Funkcje

Przez większość czasu ten błąd występuje, jeśli wymagany nagłówek nie jest uwzględniony (np. Użycie std::cout bez #include <iostream> )

Brak kompilacji:

#include <iostream>

int main(int argc, char *argv[])
{
    doCompile();

    return 0;
}

void doCompile()
{
    std::cout << "No!" << std::endl;
}

Naprawić:

#include <iostream>

void doCompile(); // forward declare the function

int main(int argc, char *argv[])
{
    doCompile();

    return 0;
}

void doCompile()
{
    std::cout << "No!" << std::endl;
}

Lub:

#include <iostream>

void doCompile() // define the function before using it
{
    std::cout << "No!" << std::endl;
}

int main(int argc, char *argv[])
{
    doCompile();

    return 0;
}

Uwaga: Kompilator interpretuje kod od góry do dołu (uproszczenie). Wszystko musi być przynajmniej zadeklarowane (lub zdefiniowane) przed użyciem.

niezdefiniowane odniesienie do `*** '

Ten błąd linkera występuje, jeśli linker nie może znaleźć używanego symbolu. Najczęściej dzieje się tak, jeśli używana biblioteka nie jest połączona.

qmake:

LIBS += nameOfLib

cmake:

TARGET_LINK_LIBRARIES(target nameOfLib)

wywołanie g ++:

g++ -o main main.cpp -Llibrary/dir -lnameOfLib

Można również zapomnieć o skompilowaniu i połączeniu wszystkich używanych plików .cpp (functionsModule.cpp określa potrzebną funkcję):

g++  -o binName main.o functionsModule.o

błąd krytyczny: ***: Brak takiego pliku lub katalogu

Kompilator nie może znaleźć pliku (plik źródłowy używa #include "someFile.hpp" ).

qmake:

INCLUDEPATH += dir/Of/File

cmake:

include_directories(dir/Of/File)

wywołanie g ++:

g++ -o main main.cpp -Idir/Of/File


Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow