02-03-2007, 11:18
|
|
|
חבר מתאריך: 13.07.06
הודעות: 1,070
|
|
במקרה שאתה מדבר עליו הקומפיילר לא יכול לשנות את ה-i כי הוא לא מוגדר מחוץ ללולאה
לפי התקן של CPP לולאת for היא טווח הכרה מהבחינה שאם נכתוב:
קוד PHP:
for (size_t i = 0; i < K; ++i) { // whatever }
המשתנה i מוגדר רק בתוך הלולאה. לא מחוץ לה. זה אומר שהקוד הבא בלתי חוקי:
קוד PHP:
for (size_t i = 0; i < K; ++i) { // whatever }
for (i = 0; i < T; ++i) { //whatever }
כי i לא מוגדר בלולאה השנייה. בעוד שהקוד הבא נכון:
קוד PHP:
for (size_t i = 0; i < K; ++i) { // whatever }
for (size_t i = 0; i < T; ++i) { //whatever }
אז אין עניין של "הקומפיילר ישנה", כי המשתנה כבר לא קיים בשלב הזה.
_____________________________________
סאשה הסוס, סוכן אוסינט.
|