digitalmars.D - "Module is private" when calling function
- Sean Eskapp (18/18) Jan 07 2011 I have two modules:
- Jonathan M Davis (4/27) Jan 07 2011 That looks like an error. The order than functions are declared in shoul...
I have two modules:
foo.d:
public void Foo(int x) {}
private void Foo(string x) {}
private void Bar(string x) {}
public void Bar(int x) {}
main.d:
import foo;
void main()
{
Foo(5); // OK
Foo("Hello"); // error: function is private (correct)
Bar(5); // error: module is private (incorrect)
Bar("hello"); // error: function is private (correct)
}
With the errors demonstrated. When a public function is denoted below a
private function, the private function seems to intercept the overload. Is
this supposed to happen?
Jan 07 2011
On Friday 07 January 2011 03:54:29 Sean Eskapp wrote:
I have two modules:
foo.d:
public void Foo(int x) {}
private void Foo(string x) {}
private void Bar(string x) {}
public void Bar(int x) {}
main.d:
import foo;
void main()
{
Foo(5); // OK
Foo("Hello"); // error: function is private (correct)
Bar(5); // error: module is private (incorrect)
Bar("hello"); // error: function is private (correct)
}
With the errors demonstrated. When a public function is denoted below a
private function, the private function seems to intercept the overload. Is
this supposed to happen?
That looks like an error. The order than functions are declared in shouldn't
matter.
- Jonathan M Davis
Jan 07 2011








Jonathan M Davis <jmdavisProg gmx.com>