# Error "Parameter type label ambiguous (CODE or DATA)" using BIND in 11.1 (works with 11.0)

**URL:** <https://clarionhub.com/t/error-parameter-type-label-ambiguous-code-or-data-using-bind-in-11-1-works-with-11-0/7860>\
**Category:** questions\
**Tags:** compiler, c11.1\
**Created:** [January 25, 2025, 1:59am UTC](https://clarionhub.com/t/error-parameter-type-label-ambiguous-code-or-data-using-bind-in-11-1-works-with-11-0/7860 "2025-01-25T01:59:31Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![CarlosGtrz](https://clarionhub.com/user_avatar/clarionhub.com/carlosgtrz/32/5870_2.png) [@CarlosGtrz](https://clarionhub.com/u/CarlosGtrz)\
**Post date:** [January 25, 2025, 1:59am UTC](https://clarionhub.com/t/error-parameter-type-label-ambiguous-code-or-data-using-bind-in-11-1-works-with-11-0/7860/1 "2025-01-25T01:59:31Z")

</div>

This code compiles fine with C11.0 but fails to compile with C11.1:

```clarion
  PROGRAM

Class1 CLASS,TYPE
Function1 PROCEDURE,STRING
                    END

  MAP 
Function1 PROCEDURE,STRING
  END
  
  CODE
  
  BIND('Function1',Function1)    
  
Class1.Function1 PROCEDURE!,STRING
  CODE  
  RETURN ''
    
Function1 PROCEDURE!,STRING
  CODE  
  RETURN ''

```

The error is: `Parameter type label ambiguous (CODE or DATA) - Test.clw:13,20`

Probably it's related to this fix in [Build 11.1.13744](https://clarionhub.com/t/new-blog-entry-on-clarion-11-1-13744/4210): `FIX: Compiler: incorrect code could be generated for a BIND statement`.

The obvious solution is to rename one or the other function, but as both are widely used in a relatively large code base (`Function1` is a bindable stub used in FRB reports to call the class function), I wonder if anyone had this problem before and found a simpler workaround.

This is a minimal test project: [BindProcMethod.zip](https://clarionhub.com/uploads/short-url/txYauxp4eDNDchoQNHjieji1zqW.zip) (1.2 KB)

---

<div class="post-metadata">

**Author:** ![CarlosGtrz](https://clarionhub.com/user_avatar/clarionhub.com/carlosgtrz/32/5870_2.png) [@CarlosGtrz](https://clarionhub.com/u/CarlosGtrz)\
**Post date:** [January 25, 2025, 2:26am UTC](https://clarionhub.com/t/error-parameter-type-label-ambiguous-code-or-data-using-bind-in-11-1-works-with-11-0/7860/2 "2025-01-25T02:26:16Z")

</div>

A workaround is to create another stub in a local `MAP` just to let `BIND` work

```clarion

  BIND('Function1',locFunction1)    
  ...

locFunction1 PROCEDURE!,STRING
  CODE  
  RETURN Function1()

```

---

<div class="post-metadata">

**Author:** ![CarlosGtrz](https://clarionhub.com/user_avatar/clarionhub.com/carlosgtrz/32/5870_2.png) [@CarlosGtrz](https://clarionhub.com/u/CarlosGtrz)\
**Post date:** [January 27, 2025, 9:42pm UTC](https://clarionhub.com/t/error-parameter-type-label-ambiguous-code-or-data-using-bind-in-11-1-works-with-11-0/7860/3 "2025-01-27T21:42:24Z")

</div>

Another workaround is to use a reference to a procedure

```clarion
  PROGRAM

Class1 CLASS,TYPE
Function1 PROCEDURE,STRING
                    END

  MAP 
Function1 PROCEDURE,STRING
Function1Type PROCEDURE,STRING,TYPE
  END

refFunction1 &Function1Type
  
  CODE
  
  refFunction1 &= Function1  
  BIND('Function1',refFunction1)    
  MESSAGE(EVALUATE('Function1()'))

Function1 PROCEDURE!,STRING
cl1 Class1
  CODE  
  RETURN cl1.Function1()

Class1.Function1 PROCEDURE!,STRING
  CODE  
  RETURN '123'

```

---

<div class="post-metadata">

**Author:** ![Nardus\_Swanevelder](https://clarionhub.com/user_avatar/clarionhub.com/nardus_swanevelder/32/1066_2.png) [@Nardus\_Swanevelder](https://clarionhub.com/u/Nardus_Swanevelder)\
**Post date:** [January 28, 2025, 2:12pm UTC](https://clarionhub.com/t/error-parameter-type-label-ambiguous-code-or-data-using-bind-in-11-1-works-with-11-0/7860/4 "2025-01-28T14:12:53Z")

</div>

I can only confirm that I see the same problem you are experiencing

---

<div class="post-metadata">

**Author:** ![JeffH](https://clarionhub.com/letter_avatar_proxy/v4/letter/j/258eb7/32.png) [@JeffH](https://clarionhub.com/u/JeffH)\
**Post date:** [January 28, 2025, 3:47pm UTC](https://clarionhub.com/t/error-parameter-type-label-ambiguous-code-or-data-using-bind-in-11-1-works-with-11-0/7860/5 "2025-01-28T15:47:44Z")

</div>

I appreciate this answer as it may answers a similar question I had about how to assign a function to a class and execute it later on within a method. I will play around with your sample. Thanks.

Jeff

---

<div class="post-metadata">

**Author:** ![CarlosGtrz](https://clarionhub.com/user_avatar/clarionhub.com/carlosgtrz/32/5870_2.png) [@CarlosGtrz](https://clarionhub.com/u/CarlosGtrz)\
**Post date:** [January 29, 2025, 8:03pm UTC](https://clarionhub.com/t/error-parameter-type-label-ambiguous-code-or-data-using-bind-in-11-1-works-with-11-0/7860/6 "2025-01-29T20:03:23Z")

</div>

I reported this ([43441](http://problemtracker.softvelocity.com/UpdtAllBugsview.php?ID1=43441)) and now has status _Bug confirmed_.

---

<div class="post-metadata">

**Author:** ![Mike\_Duglas](https://clarionhub.com/user_avatar/clarionhub.com/mike_duglas/32/1061_2.png) [@Mike\_Duglas](https://clarionhub.com/u/Mike_Duglas)\
**Post date:** [January 29, 2025, 8:06pm UTC](https://clarionhub.com/t/error-parameter-type-label-ambiguous-code-or-data-using-bind-in-11-1-works-with-11-0/7860/7 "2025-01-29T20:06:41Z")

</div>

One more reason to delay C12 for a half of year.
