我有一些電子文件下面的代碼:它是否允許有兩個同名的結構?
<'
package my_package;
struct packet {
foo() is {
print "Hello";
};
};
'>
而我的首要文件導入多個文件,其中包括這一個,並在某些時候它會調用,把foo()方法。在其他一些文件
struct packet {};
(我忘了,我已經有一個名爲「包」結構),它是由頂部的上述文件之前進口:現在
,誤我加入這個代碼。
奇怪的是,當我試圖加載第一個文件,我得到這個錯誤:
*** Error: 'p' (of type main::packet) does not have 'foo()' method.
at line 9 in top.e
p.foo();
但爲什麼沒有它已經失敗的定義FOO文件()?
它有一個數據包的結構聲明,但數據包已經(錯誤地)在早期的文件中聲明,所以爲什麼它沒有給出重複的類型名稱錯誤?它是否允許有兩個同名的結構?