Я студент, изучающий разработку программного обеспечения. Мне было поручено написать программу, которая имеет класс Card, класс DeckOfCards, а программа-драйвер должна создавать колоду карт, перетасовывать ее и раздавать. Каждый раз, когда я пытаюсь запустить его через Visual Studio, я получаю сообщения об ошибках «E0291: для класса Card не существует конструктора по умолчанию» и «C2512: 'Card': нет подходящего конструктора по умолчанию» в моем конструкторе DeckOfCards(). В частности, в строке, которая гласит:
Кроме того, я получаю всплывающее сообщение «Невозможно запустить программу. «C:\Users\somethingsomethingmydirectory.exe». Система не может оштрафовать указанный файл». Я не понимаю почему, потому что считаю, что правильно передаю параметры своему перегруженному конструктору. Пожалуйста, порекомендуйте. Я считаю, что программа должна работать корректно, как только эта проблема будет устранена. Я копирую и вставляю все три файла, и они отображаются в порядке Lab7.cpp, DeckOfCards.h, Card.h. Я попытался добавить в класс карты конструктор по умолчанию в дополнение к моему перегруженному методу. Это привело только к 15 дополнительным ошибкам.
Я получил отзывы от пользователей, в которых говорилось, что они прогоняли код через различные компиляторы, и у них все работало. Чтобы проверить это, я попробовал запустить его через VSCode, а не через VS. Тот же результат. Я буду работать над третьим компилятором.
Код: Выделить всё
#include
#include "Card.h"
#include "DeckOfCards.h"
int main()
{
DeckOfCards deck;
deck.shuffle();
try {
for (int i = 0; i < 52; ++i) {
Card card = deck.dealCard(); // Deal the next card
cout
Подробнее здесь: [url]https://stackoverflow.com/questions/79130015/no-default-constructor-exists-for-class-error-message-in-c-program[/url]