到明天代碼工作好,但知道它給出了一個奇怪的錯誤.. 沒有可用的默認構造函數...
我真的不明白這個錯誤。而且這是第一次體驗與這種類型的錯誤..我已經搜索的問題,但對構造的討論是先進的水平.. 我是中級,, .. 請幫助檢查我的代碼.. !!!構造錯誤。(奇怪的錯誤)
// error.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include <iostream>
#include <string>
using namespace std;
struct Student
{
const char name[6][11];
const int id[5];
};
void fetch_id(Student& s, const int size)
{
for (int i = 0; i < size; i++)
{
cout << "roll no of student: " << i+1 << endl;;
cin >> s.id[i];
}
}
void fetch_name(Student& s, const int size)
{
for (int j = 0; j < size; j++)
{
cin.getline(s.name[j], 10);
cout <<"name of student: " << j+1 << endl;
}
}
void display_name(Student s, const int size)
{
cout << "Student Names Are" << endl;
for (int i = 0; i < size; i++)
{
if (s.name[i] != '\0')
cout << s.name[i] << endl;
}
}
void display_id(Student s, const int size)
{
cout << "Roll Numbers Are" << endl;
for (int i = 0; i < size; i++)
{
cout << s.id[i] << " || ";
}
}
int main()
{
const int size = 5;
Student s; // error C2512: 'Student' : no appropriate default constructor available ??
fetch_id(s, size);
display_id(s, size);
cout << '\n';
fetch_name(s, size);
cout << '\n';
display_name(s, size);
system("Pause");
return 0;
}
你真的可以通過刪除所有不相關的代碼來改善這個問題。 – juanchopanza 2013-04-09 12:08:41
你是對的juanchopanza,但函數'fetch_id()'和'fetch_name()'是重要的,因爲他試圖改變結構的數據。 – Zaiborg 2013-04-09 12:10:42
當代碼運行良好時,它現在也應該這樣做。如果你不想表達什麼是明天的狀態,你可以告訴今天的變化。 – harper 2013-04-09 12:13:28