import issue (i think)

Derek Parnell derek at psych.ward
Mon Jun 19 05:27:10 PDT 2006


On Mon, 19 Jun 2006 21:52:41 +1000, Johan Granberg  
<lijat.meREM at OVEgmail.com> wrote:

> Does anyone know what causes the following error?
>
> gdc -c input.d -o input.o -I../..
> ../../sdl/main.d:79: import sdl.main.std conflicts with sige.string.std  
> at ../../sige/string.d:2
> ../../sdl/main.d:79: import sdl.main.std conflicts with sige.string.std  
> at ../../sige/string.d:2
> input.d:396: template instance cannot resolve forward reference
> input.d:396: template sige.string.split(T,D) cannot deduce template  
> function from argument types (dchar[])
> input.d:396: cannot implicitly convert expression ((split(T,D))((k))) of  
> type int to dchar[][]
>
> the code in input.d compiled fine until i tried to move it to it's own  
> file but it was never in the same file as sige/string.d and that module  
> was imported along with sdl.sdl then to. I can show code if you want to  
> but is a bit unsure about what to show so if you are interested tell me  
> which parts is important.

Ignore the template messages. They will disappear once the other problem  
is fixed.

There is no easy way to find the line of code that is causing this  
problem. The error message is totally useless because it gives a lot of  
detail which is misleading or not relevant. Anyhow, the problem you have  
got is that somewhere in your code, probably in 'input.d' you have a  
qualified reference to a function but haven't explicitly imported that  
module, but you have imported two other modules (sdl.main.std and  
sige.string.std) that have imported that module. This can probably happen  
under a number of circumstances, but one example is ...

  import foo;
  import bar;
  . . .
      x = abc.def.func();

In this case, the coder has qualified 'func' with 'abc.def.' but has not  
imported that module, and both foo.d and bar.d have directly or indirectly  
imported 'abc.<something>'.


-- 
Derek Parnell
Melbourne, Australia



More information about the Digitalmars-d mailing list