Я создал заголовок и файл реализации класса цилиндров, и когда я пытаюсь скомпилировать этот основной файл с G ++ в vScode, я получаю ошибку линкера, которая утверждает, что существует неопределенная оправданность для всех функций, которые находятся в классе.cmd /c chcp 65001>nul && C:\msys64\mingw64\bin\g++.exe -fdiagnostics-color=always -g "C:\Users\sansn\Desktop\Codes\C++ Fundamentals\Fundementals\Fun2\CH16 Classes\main.cpp" -o "C:\Users\sansn\Desktop\Codes\C++ Fundamentals\Fundementals\Fun2\CH16 Classes\main.exe"
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/14.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:\Users\sansn\AppData\Local\Temp\ccWNjXU4.o: in function `main':
C:/Users/sansn/Desktop/Codes/C++ Fundamentals/Fundementals/Fun2/CH16 Classes/main.cpp:6:(.text+0x47):
undefined reference to `Cylinder::Cylinder(double, double)'
и так далее с любой другой функцией в классе
main.cpp
#include
#include "cylinder.h"
int main(int argc, char const *argv[])
{
Cylinder *C1=new Cylinder(1,2);
C1->set_height(10);
C1->set_radius(5);
std::cout
Ошибка
"< /p>
Я пытался изменить файл задач.{
"version": "2.0.0",
"tasks": [
{
"type": "shell",
"label": "C/C++: g++.exe build all cpp files",
"command": "C:\\msys64\\mingw64\\bin\\g++.exe",
"args": [
"-fdiagnostics-color=always",
"-g",
"*.cpp",
"-o",
"program.exe"
],
"options": {
"cwd": "${fileDirname}"
},
"problemMatcher": [
"$gcc"
],
"group": "build",
"detail": "compiler: C:\\msys64\\mingw64\\bin\\g++.exe"
},
{
"type": "cppbuild",
"label": "C/C++: g++.exe build active file",
"command": "C:\\msys64\\mingw64\\bin\\g++.exe",
"args": [
"-fdiagnostics-color=always",
"-g",
"${file}",
"-o",
"${fileDirname}\\${fileBasenameNoExtension}.exe"
],
"options": {
"cwd": "${fileDirname}"
},
"problemMatcher": [
"$gcc"
],
"group": {
"kind": "build",
"isDefault": true
},
"detail": "Task generated by Debugger."
}
]
}
Подробнее здесь: https://stackoverflow.com/questions/796 ... ementation
Неопределенная ссылка на функцию в реализации класса .CPP [дубликат] ⇐ C++
Программы на C++. Форум разработчиков
1751447455
Anonymous
Я создал заголовок и файл реализации класса цилиндров, и когда я пытаюсь скомпилировать этот основной файл с G ++ в vScode, я получаю ошибку линкера, которая утверждает, что существует неопределенная оправданность для всех функций, которые находятся в классе.cmd /c chcp 65001>nul && C:\msys64\mingw64\bin\g++.exe -fdiagnostics-color=always -g "C:\Users\sansn\Desktop\Codes\C++ Fundamentals\Fundementals\Fun2\CH16 Classes\main.cpp" -o "C:\Users\sansn\Desktop\Codes\C++ Fundamentals\Fundementals\Fun2\CH16 Classes\main.exe"
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/14.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:\Users\sansn\AppData\Local\Temp\ccWNjXU4.o: in function `main':
C:/Users/sansn/Desktop/Codes/C++ Fundamentals/Fundementals/Fun2/CH16 Classes/main.cpp:6:(.text+0x47):
undefined reference to `Cylinder::Cylinder(double, double)'
и так далее с любой другой функцией в классе
[b] main.cpp[/b]
#include
#include "cylinder.h"
int main(int argc, char const *argv[])
{
Cylinder *C1=new Cylinder(1,2);
C1->set_height(10);
C1->set_radius(5);
std::cout
Ошибка
"< /p>
Я пытался изменить файл задач.{
"version": "2.0.0",
"tasks": [
{
"type": "shell",
"label": "C/C++: g++.exe build all cpp files",
"command": "C:\\msys64\\mingw64\\bin\\g++.exe",
"args": [
"-fdiagnostics-color=always",
"-g",
"*.cpp",
"-o",
"program.exe"
],
"options": {
"cwd": "${fileDirname}"
},
"problemMatcher": [
"$gcc"
],
"group": "build",
"detail": "compiler: C:\\msys64\\mingw64\\bin\\g++.exe"
},
{
"type": "cppbuild",
"label": "C/C++: g++.exe build active file",
"command": "C:\\msys64\\mingw64\\bin\\g++.exe",
"args": [
"-fdiagnostics-color=always",
"-g",
"${file}",
"-o",
"${fileDirname}\\${fileBasenameNoExtension}.exe"
],
"options": {
"cwd": "${fileDirname}"
},
"problemMatcher": [
"$gcc"
],
"group": {
"kind": "build",
"isDefault": true
},
"detail": "Task generated by Debugger."
}
]
}
Подробнее здесь: [url]https://stackoverflow.com/questions/79687144/undefined-reference-to-function-in-cpp-class-implementation[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия