java 與 c++ 關於局部變量重命名的區別

#include <iostream>

using namespace std;

int i=0;
int main(){
	
	{
		int i=10;
		{
			int i=10;
		}
	}
	{
		int i=10;
	}
	for(int i=0;i<20;++i)
		for(int i=0;i<10;++i);
}

C++編譯通過


public class TestToDouble {
		public static void main(String [] args){
			//	String s="1,2;3,4,5;6,7,8";
		/*	for(int index=0;index<args.length;++index){
					double [][] d;
					String [] sFirst = args[index].split(";");
					d = new double[sFirst.length][];
					for(int i=0;i<sFirst.length;++i){
							String [] sSecond = sFirst[i].split(",");
							d[i]=new double[sSecond.length];
							
							for(int j=0;j<sSecond.length;++j){
									d[i][j]=Double.parseDouble(sSecond[j]);
								}
						}
						
					for(int i=0;i<d.length;++i){
							for(int j=0;j<d[i].length;++j){
									System.out.print(d[i][j]+" ");
								}
							System.out.println();
						}
				 }*/
				 {
				 	int i=0;
				 		{
				 			int i=5;
				 		}
				 	}
			for(int i=0;i<10;++i)
					for(int i=0;i<20;++i);
			}
	}

Java編譯報錯,關於上下級關係中,命名相同會引發錯誤

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章