<html>
  <head>
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <div class="moz-cite-prefix">Hi!<br>
      <br>
      The semantics of AspectC++ only allows for advice within the body
      of an aspect. Therefore, the parser checks the current scope when
      an advice definition is seen and prints an error message if advice
      is found "outside an aspect".<br>
      <br>
      Your code looks correct to me. I am only confused, because
      stim2.ah:10 is not the line that contains the advice keyword in
      your listing (it is line 8). Have you removed lines before you
      posted them here? It might be a good idea to search for "advice"
      in your whole project (e.g. with grep -r advice
      <MyProject>). It sometimes happens that 'advice' is used a
      name for a local variable or function. If that is used with a
      macro, it might be hard to spot. Also check that opening and
      closing brackets are correct. For instance, you could comment-out
      the advice definition a check whether the code can be compiled
      after doing that.<br>
      <br>
      Best regards,<br>
      <br>
      Olaf<br>
      <br>
      Am 03.09.2016 um 16:11 schrieb Jeremy:<br>
    </div>
    <blockquote cite="mid:tencent_297C0DAA3FB5999451E9547E@qq.com"
      type="cite">
      <div>Hi,</div>
      <div><br>
      </div>
      <div>I get the error information: "<b>stim2.ah:10: error: 'advice'
          keyword used outside an aspect." </b>when I try to use
        aspectC++.</div>
      <div><br>
      </div>
      <div>I have a class named <b>stim </b>with a method named<b>
          StimGen() </b>in file stim.h. And I write an aspect file <b>stim2.ah</b>
        as follows:</div>
      <div>
        <div>#ifndef STIM2_AH__</div>
        <div>#define STIM2_AH__</div>
        <div><br>
        </div>
        <div>#include "stim.h"</div>
        <div><br>
        </div>
        <div>aspect stimModify{</div>
        <div><span class="Apple-tab-span" style="white-space:pre">      </span><span class="Apple-tab-span" style="line-height: 1.5; white-space: pre;">        </span></div>
        <div><span class="Apple-tab-span" style="white-space:pre">      </span>advice
          execution("% stim::StimGen()") && that(instance) :
          before(stim &instance){</div>
        <div><span class="Apple-tab-span" style="white-space:pre">              </span></div>
        <div><span class="Apple-tab-span" style="white-space:pre">              </span>instance.A.write(false);</div>
        <div><span class="Apple-tab-span" style="white-space:pre">              </span>instance.B.write(true);</div>
        <div><span class="Apple-tab-span" style="white-space:pre">              </span>wait();</div>
        <div><span class="Apple-tab-span" style="white-space:pre">              </span>instance.A.write(true);</div>
        <div><span class="Apple-tab-span" style="white-space:pre">              </span>instance.B.write(false);</div>
        <div><span class="Apple-tab-span" style="white-space:pre">              </span>wait();<span class="Apple-tab-span" style="line-height: 1.5; white-space: pre;"> </span></div>
        <div><span class="Apple-tab-span" style="white-space:pre">              </span>sc_stop();</div>
        <div><span class="Apple-tab-span" style="white-space:pre">      </span>}</div>
        <div>};</div>
        <div><br>
        </div>
        <div>#endif</div>
      </div>
      <div><br>
      </div>
      <div><br>
      </div>
      <div>Does anyone know what's wrong about this error?  Could you
        please say something about this kind of error? Any suggestions
        would be appreciated.</div>
      <div><br>
      </div>
      <div>Thanks a lot in advance.</div>
      <div><br>
      </div>
      <div><br>
      </div>
      <div><br>
      </div>
      <div><br>
      </div>
      <div>
        <div style="color:#909090;font-family:Arial
          Narrow;font-size:12px">------------------</div>
        <div style="font-size:14px;font-family:Verdana;color:#000;">
          <div>Best regards,</div>
          <div><br>
          </div>
          <div>Haifeng</div>
        </div>
      </div>
      <div> </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
aspectc-user mailing list
<a class="moz-txt-link-abbreviated" href="mailto:aspectc-user@aspectc.org">aspectc-user@aspectc.org</a>
<a class="moz-txt-link-freetext" href="http://www.aspectc.org/mailman/listinfo/aspectc-user">http://www.aspectc.org/mailman/listinfo/aspectc-user</a>
</pre>
    </blockquote>
    <br>
  </body>
</html>