[問題] template在OOP用瘋狂過不了 請求支援...
各位大大好 小弟C++剛開始要進入物件導向的部分
這幾天跑一個基本 template 功能可是不管我怎麼試就是瘋狂無法run \_/
已經極度腦弱上網爬文爬了好久都沒找到盲點... 想請求大大支援幫我看一下
是哪裡出了問題 雖然我知道我的問題一定很蠢 可是沒解決真的就很會一直覺得
有事情沒解決感覺超不踏實的...
以下是我的 code 跟顯示的錯誤訊息
我只是想要讓 class HOUSE 裡面 private 的部分變成變數 可以讓我在 main 裡面
任意決定數列x的資料數 然後試驗跑看看而已 ><
code:
#include <cstdlib>
#include <iostream>
using namespace std;
template <int n>
class HOUSE
{
private:
int x[n];
public:
void Read()
{
for(int i=0; i<n; ++i)
cout<<"Enter a number: ";
cin>>x[i];
}
void show()
{
for(int i=0; i<n; ++i)
{
cout<<x[i]<<"\t";
}
cout<<endl;
}
};
int main(int argc, char *argv[])
{
HOUSE <10> t;
t.Read();
t.show();
system("pause");
return 0;
}
結果他一直在第15行 cin>>x[i];這邊反白 然後錯誤訊息如下:
In member function 'void HOUSE<n>::Read()':
[Error] name lookup of 'i' changed for ISO 'for' scoping [-fpermissive]
(if you use '-fpermissive' G++ will accept your code)
真的已經想破頭了 有請教了朋友也都沒辦法找出錯誤解決 請求神大支援! 感恩
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 75.84.39.104
※ 編輯: lalawolala 來自: 75.84.39.104 (11/09 05:52)
推
11/09 05:55, , 1F
11/09 05:55, 1F
→
11/09 05:55, , 2F
11/09 05:55, 2F
→
11/09 06:18, , 3F
11/09 06:18, 3F
→
11/09 06:19, , 4F
11/09 06:19, 4F
→
11/09 06:19, , 5F
11/09 06:19, 5F
推
11/09 09:55, , 6F
11/09 09:55, 6F
→
11/09 19:14, , 7F
11/09 19:14, 7F
→
11/09 19:14, , 8F
11/09 19:14, 8F
→
11/09 19:18, , 9F
11/09 19:18, 9F
→
11/09 23:57, , 10F
11/09 23:57, 10F
→
11/10 05:21, , 11F
11/10 05:21, 11F
→
11/10 05:22, , 12F
11/10 05:22, 12F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章
14
30