"Module is private" when calling function

Jonathan M Davis jmdavisProg at gmx.com
Fri Jan 7 04:06:58 PST 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


More information about the Digitalmars-d mailing list