<?xml version="1.0"?>
<rss version="2.0">
	<channel>
		<title>What am I doing wrong here?</title>
		<link>http://www.allegro.cc/forums/view/615279</link>
		<description>Allegro.cc Forum Thread</description>
		<webMaster>matthew@allegro.cc (Matthew Leverton)</webMaster>
		<lastBuildDate>Sun, 12 Apr 2015 04:03:18 +0000</lastBuildDate>
	</channel>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I&#39;m trying to create a List for universal use within a class, but the compiler doesn&#39;t recognize the variables. Is there anything to be done here? Look at the last line of my class code:</p><div class="source-code"><div class="toolbar"><span class="button numbers"><b>#</b></span><span class="button select">Select</span><span class="button expand">Expand</span></div><div class="inner"><span class="number">   1</span><span class="p">#include&lt;iostream&gt;</span>
<span class="number">   2</span><span class="p">#include&lt;list&gt;</span>
<span class="number">   3</span><span class="p">#include"player.h"</span>
<span class="number">   4</span><span class="p">#include"globals.h"</span>
<span class="number">   5</span><span class="p">#include"tile.h"</span>
<span class="number">   6</span><span class="k1">using</span> <span class="k1">namespace</span> std<span class="k2">;</span>
<span class="number">   7</span>
<span class="number">   8</span><span class="k1">void</span> Player::Initialize<span class="k2">(</span><span class="k1">int</span> x, <span class="k1">int</span> y, <a href="http://www.allegro.cc/manual/ALLEGRO_BITMAP"><span class="a">ALLEGRO_BITMAP</span></a><span class="k3">*</span> image, std::list<span class="k3">&lt;</span>Tile<span class="k3">*</span><span class="k3">&gt;</span> Tiles, std::list<span class="k3">&lt;</span>Tile<span class="k3">*</span><span class="k3">&gt;</span><span class="k2">:</span><span class="k2">:</span>iterator iter<span class="k2">)</span>
<span class="number">   9</span><span class="k2">{</span>
<span class="number">  10</span>  mX <span class="k3">=</span> x<span class="k2">;</span>
<span class="number">  11</span>  mY <span class="k3">=</span> y<span class="k2">;</span>
<span class="number">  12</span>  mVelX <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number">  13</span>  mVelY <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number">  14</span>  bottomFrame <span class="k3">=</span> <span class="n">1</span><span class="k2">;</span>
<span class="number">  15</span>  topFrame <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number">  16</span>  tint <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number">  17</span>  flip <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number">  18</span>  mFacing <span class="k3">=</span> RIGHT<span class="k2">;</span>
<span class="number">  19</span>  mDir <span class="k3">=</span> EAST<span class="k2">;</span>
<span class="number">  20</span>  mImage <span class="k3">=</span> image<span class="k2">;</span>
<span class="number">  21</span>  mTiles <span class="k3">=</span> Tiles<span class="k2">;</span>
<span class="number">  22</span>  mIter <span class="k3">=</span> iter<span class="k2">;</span>
<span class="number">  23</span>  idleCount <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number">  24</span>  idleIndex <span class="k3">=</span> <span class="n">1</span><span class="k2">;</span>
<span class="number">  25</span>  mJumpInts<span class="k2">[</span><span class="n">0</span><span class="k2">]</span> <span class="k3">=</span> <span class="k3">-</span><span class="n">16</span><span class="k2">;</span>
<span class="number">  26</span>  mJumpInts<span class="k2">[</span><span class="n">1</span><span class="k2">]</span> <span class="k3">=</span> <span class="k3">-</span><span class="n">16</span><span class="k2">;</span>
<span class="number">  27</span>  mJumpInts<span class="k2">[</span><span class="n">2</span><span class="k2">]</span> <span class="k3">=</span> <span class="k3">-</span><span class="n">16</span><span class="k2">;</span>
<span class="number">  28</span>  mJumpInts<span class="k2">[</span><span class="n">3</span><span class="k2">]</span> <span class="k3">=</span> <span class="k3">-</span><span class="n">16</span><span class="k2">;</span>
<span class="number">  29</span>  mJumpInts<span class="k2">[</span><span class="n">4</span><span class="k2">]</span> <span class="k3">=</span> <span class="k3">-</span><span class="n">8</span><span class="k2">;</span>
<span class="number">  30</span>  mJumpInts<span class="k2">[</span><span class="n">5</span><span class="k2">]</span> <span class="k3">=</span> <span class="k3">-</span><span class="n">8</span><span class="k2">;</span>
<span class="number">  31</span>  mJumpInts<span class="k2">[</span><span class="n">6</span><span class="k2">]</span> <span class="k3">=</span> <span class="k3">-</span><span class="n">8</span><span class="k2">;</span>
<span class="number">  32</span>  mJumpInts<span class="k2">[</span><span class="n">7</span><span class="k2">]</span> <span class="k3">=</span> <span class="k3">-</span><span class="n">8</span><span class="k2">;</span>
<span class="number">  33</span>  mJumpInts<span class="k2">[</span><span class="n">8</span><span class="k2">]</span> <span class="k3">=</span> <span class="k3">-</span><span class="n">4</span><span class="k2">;</span>
<span class="number">  34</span>  mJumpInts<span class="k2">[</span><span class="n">9</span><span class="k2">]</span> <span class="k3">=</span> <span class="k3">-</span><span class="n">4</span><span class="k2">;</span>
<span class="number">  35</span>  mJumpInts<span class="k2">[</span><span class="n">10</span><span class="k2">]</span> <span class="k3">=</span> <span class="k3">-</span><span class="n">4</span><span class="k2">;</span>
<span class="number">  36</span>  mJumpInts<span class="k2">[</span><span class="n">11</span><span class="k2">]</span> <span class="k3">=</span> <span class="k3">-</span><span class="n">4</span><span class="k2">;</span>
<span class="number">  37</span>  mJumpInts<span class="k2">[</span><span class="n">12</span><span class="k2">]</span> <span class="k3">=</span> <span class="k3">-</span><span class="n">2</span><span class="k2">;</span>
<span class="number">  38</span>  mJumpInts<span class="k2">[</span><span class="n">13</span><span class="k2">]</span> <span class="k3">=</span> <span class="k3">-</span><span class="n">2</span><span class="k2">;</span>
<span class="number">  39</span>  mJumpInts<span class="k2">[</span><span class="n">14</span><span class="k2">]</span> <span class="k3">=</span> <span class="k3">-</span><span class="n">2</span><span class="k2">;</span>
<span class="number">  40</span>  mJumpInts<span class="k2">[</span><span class="n">15</span><span class="k2">]</span> <span class="k3">=</span> <span class="k3">-</span><span class="n">2</span><span class="k2">;</span>
<span class="number">  41</span>  mJumpInts<span class="k2">[</span><span class="n">16</span><span class="k2">]</span> <span class="k3">=</span> <span class="k3">-</span><span class="n">1</span><span class="k2">;</span>
<span class="number">  42</span>  mJumpInts<span class="k2">[</span><span class="n">17</span><span class="k2">]</span> <span class="k3">=</span> <span class="k3">-</span><span class="n">1</span><span class="k2">;</span>
<span class="number">  43</span>  mJumpInts<span class="k2">[</span><span class="n">18</span><span class="k2">]</span> <span class="k3">=</span> <span class="k3">-</span><span class="n">1</span><span class="k2">;</span>
<span class="number">  44</span>  mJumpInts<span class="k2">[</span><span class="n">19</span><span class="k2">]</span> <span class="k3">=</span> <span class="k3">-</span><span class="n">1</span><span class="k2">;</span>
<span class="number">  45</span>  mJumpInts<span class="k2">[</span><span class="n">20</span><span class="k2">]</span> <span class="k3">=</span> <span class="k3">-</span><span class="n">1</span><span class="k2">;</span>
<span class="number">  46</span>  mJumpInts<span class="k2">[</span><span class="n">21</span><span class="k2">]</span> <span class="k3">=</span> <span class="k3">-</span><span class="n">1</span><span class="k2">;</span>
<span class="number">  47</span>  mJumpInts<span class="k2">[</span><span class="n">22</span><span class="k2">]</span> <span class="k3">=</span> <span class="k3">-</span><span class="n">1</span><span class="k2">;</span>
<span class="number">  48</span>  mJumpInts<span class="k2">[</span><span class="n">23</span><span class="k2">]</span> <span class="k3">=</span> <span class="k3">-</span><span class="n">1</span><span class="k2">;</span>
<span class="number">  49</span>  mJumpInts<span class="k2">[</span><span class="n">24</span><span class="k2">]</span> <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number">  50</span>  mJumpInts<span class="k2">[</span><span class="n">25</span><span class="k2">]</span> <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number">  51</span>  mJumpInts<span class="k2">[</span><span class="n">26</span><span class="k2">]</span> <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number">  52</span>  mJumpInts<span class="k2">[</span><span class="n">27</span><span class="k2">]</span> <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number">  53</span>  mJumpInts<span class="k2">[</span><span class="n">28</span><span class="k2">]</span> <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number">  54</span>  mJumpInts<span class="k2">[</span><span class="n">29</span><span class="k2">]</span> <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number">  55</span>  mFallInts<span class="k2">[</span><span class="n">0</span><span class="k2">]</span> <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number">  56</span>  mFallInts<span class="k2">[</span><span class="n">1</span><span class="k2">]</span> <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number">  57</span>  mFallInts<span class="k2">[</span><span class="n">2</span><span class="k2">]</span> <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number">  58</span>  mFallInts<span class="k2">[</span><span class="n">3</span><span class="k2">]</span> <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number">  59</span>  mFallInts<span class="k2">[</span><span class="n">4</span><span class="k2">]</span> <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number">  60</span>  mFallInts<span class="k2">[</span><span class="n">5</span><span class="k2">]</span> <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number">  61</span>  mFallInts<span class="k2">[</span><span class="n">6</span><span class="k2">]</span> <span class="k3">=</span> <span class="n">1</span><span class="k2">;</span>
<span class="number">  62</span>  mFallInts<span class="k2">[</span><span class="n">7</span><span class="k2">]</span> <span class="k3">=</span> <span class="n">1</span><span class="k2">;</span>
<span class="number">  63</span>  mFallInts<span class="k2">[</span><span class="n">8</span><span class="k2">]</span> <span class="k3">=</span> <span class="n">1</span><span class="k2">;</span>
<span class="number">  64</span>  mFallInts<span class="k2">[</span><span class="n">9</span><span class="k2">]</span> <span class="k3">=</span> <span class="n">1</span><span class="k2">;</span>
<span class="number">  65</span>  mFallInts<span class="k2">[</span><span class="n">10</span><span class="k2">]</span> <span class="k3">=</span> <span class="n">1</span><span class="k2">;</span>
<span class="number">  66</span>  mFallInts<span class="k2">[</span><span class="n">11</span><span class="k2">]</span> <span class="k3">=</span> <span class="n">1</span><span class="k2">;</span>
<span class="number">  67</span>  mFallInts<span class="k2">[</span><span class="n">12</span><span class="k2">]</span> <span class="k3">=</span> <span class="n">1</span><span class="k2">;</span>
<span class="number">  68</span>  mFallInts<span class="k2">[</span><span class="n">13</span><span class="k2">]</span> <span class="k3">=</span> <span class="n">1</span><span class="k2">;</span>
<span class="number">  69</span>  mFallInts<span class="k2">[</span><span class="n">14</span><span class="k2">]</span> <span class="k3">=</span> <span class="n">2</span><span class="k2">;</span>
<span class="number">  70</span>  mFallInts<span class="k2">[</span><span class="n">15</span><span class="k2">]</span> <span class="k3">=</span> <span class="n">2</span><span class="k2">;</span>
<span class="number">  71</span>  mFallInts<span class="k2">[</span><span class="n">16</span><span class="k2">]</span> <span class="k3">=</span> <span class="n">2</span><span class="k2">;</span>
<span class="number">  72</span>  mFallInts<span class="k2">[</span><span class="n">17</span><span class="k2">]</span> <span class="k3">=</span> <span class="n">2</span><span class="k2">;</span>
<span class="number">  73</span>  mFallInts<span class="k2">[</span><span class="n">18</span><span class="k2">]</span> <span class="k3">=</span> <span class="n">4</span><span class="k2">;</span>
<span class="number">  74</span>  mFallInts<span class="k2">[</span><span class="n">19</span><span class="k2">]</span> <span class="k3">=</span> <span class="n">4</span><span class="k2">;</span>
<span class="number">  75</span>  mFallInts<span class="k2">[</span><span class="n">20</span><span class="k2">]</span> <span class="k3">=</span> <span class="n">4</span><span class="k2">;</span>
<span class="number">  76</span>  mFallInts<span class="k2">[</span><span class="n">21</span><span class="k2">]</span> <span class="k3">=</span> <span class="n">4</span><span class="k2">;</span>
<span class="number">  77</span>  mFallInts<span class="k2">[</span><span class="n">22</span><span class="k2">]</span> <span class="k3">=</span> <span class="n">8</span><span class="k2">;</span>
<span class="number">  78</span>  mFallInts<span class="k2">[</span><span class="n">23</span><span class="k2">]</span> <span class="k3">=</span> <span class="n">8</span><span class="k2">;</span>
<span class="number">  79</span>  mFallInts<span class="k2">[</span><span class="n">24</span><span class="k2">]</span> <span class="k3">=</span> <span class="n">8</span><span class="k2">;</span>
<span class="number">  80</span>  mFallInts<span class="k2">[</span><span class="n">25</span><span class="k2">]</span> <span class="k3">=</span> <span class="n">8</span><span class="k2">;</span>
<span class="number">  81</span>  mFallInts<span class="k2">[</span><span class="n">26</span><span class="k2">]</span> <span class="k3">=</span> <span class="n">16</span><span class="k2">;</span>
<span class="number">  82</span>  mFallInts<span class="k2">[</span><span class="n">27</span><span class="k2">]</span> <span class="k3">=</span> <span class="n">16</span><span class="k2">;</span>
<span class="number">  83</span>  mFallInts<span class="k2">[</span><span class="n">28</span><span class="k2">]</span> <span class="k3">=</span> <span class="n">16</span><span class="k2">;</span>
<span class="number">  84</span>  mFallInts<span class="k2">[</span><span class="n">29</span><span class="k2">]</span> <span class="k3">=</span> <span class="n">16</span><span class="k2">;</span>
<span class="number">  85</span><span class="k2">}</span>
<span class="number">  86</span>
<span class="number">  87</span><span class="k1">void</span> Player::Update<span class="k2">(</span>direction dir, <a href="http://www.allegro.cc/manual/ALLEGRO_JOYSTICK_STATE"><span class="a">ALLEGRO_JOYSTICK_STATE</span></a> jst<span class="k2">)</span>
<span class="number">  88</span><span class="k2">{</span>
<span class="number">  89</span>  <span class="k1">if</span> <span class="k2">(</span>dir <span class="k3">=</span><span class="k3">=</span> EAST<span class="k2">)</span>
<span class="number">  90</span>    east<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  91</span>  <span class="k1">if</span> <span class="k2">(</span>dir <span class="k3">=</span><span class="k3">=</span> NONE<span class="k2">)</span>
<span class="number">  92</span>    none<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  93</span>  <span class="k1">if</span> <span class="k2">(</span>dir <span class="k3">=</span><span class="k3">=</span> WEST<span class="k2">)</span>
<span class="number">  94</span>    west<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  95</span>  <span class="k1">if</span> <span class="k2">(</span>justFell <span class="k3">&amp;</span><span class="k3">&amp;</span> <span class="k3">!</span><span class="k2">(</span>jst.button<span class="k2">[</span><span class="n">0</span><span class="k2">]</span><span class="k2">)</span><span class="k2">)</span>
<span class="number">  96</span>    justFell <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number">  97</span>  <span class="k1">if</span> <span class="k2">(</span><span class="k3">!</span><span class="k2">(</span>justFell<span class="k2">)</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> jst.button<span class="k2">[</span><span class="n">0</span><span class="k2">]</span><span class="k2">)</span>
<span class="number">  98</span>    jump<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  99</span><span class="k2">}</span>
<span class="number"> 100</span>
<span class="number"> 101</span><span class="k1">void</span> Player::Render<span class="k2">(</span><span class="k2">)</span>
<span class="number"> 102</span><span class="k2">{</span>
<span class="number"> 103</span>  <span class="k1">if</span> <span class="k2">(</span>mFacing <span class="k3">=</span><span class="k3">=</span> RIGHT<span class="k2">)</span>
<span class="number"> 104</span>  <span class="k2">{</span>
<span class="number"> 105</span>    <a href="http://www.allegro.cc/manual/al_draw_bitmap_region"><span class="a">al_draw_bitmap_region</span></a><span class="k2">(</span>mImage, <span class="k2">(</span>bottomFrame<span class="k3">*</span><span class="n">128</span><span class="k2">)</span>, <span class="n">0</span>, <span class="n">128</span>, <span class="n">128</span>, mX, mY, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 106</span>    <a href="http://www.allegro.cc/manual/al_draw_bitmap_region"><span class="a">al_draw_bitmap_region</span></a><span class="k2">(</span>mImage, <span class="k2">(</span>topFrame<span class="k3">*</span><span class="n">128</span><span class="k2">)</span>, <span class="n">0</span>, <span class="n">128</span>, <span class="n">128</span>, mX, mY, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 107</span>  <span class="k2">}</span>
<span class="number"> 108</span>  <span class="k1">else</span>
<span class="number"> 109</span>  <span class="k2">{</span>
<span class="number"> 110</span>    <a href="http://www.allegro.cc/manual/al_draw_bitmap_region"><span class="a">al_draw_bitmap_region</span></a><span class="k2">(</span>mImage, <span class="k2">(</span>bottomFrame<span class="k3">*</span><span class="n">128</span><span class="k2">)</span>, <span class="n">0</span>, <span class="n">128</span>, <span class="n">128</span>, mX, mY, ALLEGRO_FLIP_HORIZONTAL<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 111</span>    <a href="http://www.allegro.cc/manual/al_draw_bitmap_region"><span class="a">al_draw_bitmap_region</span></a><span class="k2">(</span>mImage, <span class="k2">(</span>topFrame<span class="k3">*</span><span class="n">128</span><span class="k2">)</span>, <span class="n">0</span>, <span class="n">128</span>, <span class="n">128</span>, mX, mY, ALLEGRO_FLIP_HORIZONTAL<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 112</span>  <span class="k2">}</span>
<span class="number"> 113</span><span class="k2">}</span>
<span class="number"> 114</span>
<span class="number"> 115</span><span class="k1">void</span> Player::east<span class="k2">(</span><span class="k2">)</span>
<span class="number"> 116</span><span class="k2">{</span>
<span class="number"> 117</span>  mFacing <span class="k3">=</span> RIGHT<span class="k2">;</span>
<span class="number"> 118</span>  <span class="k1">int</span> tile <span class="k3">=</span> collide<span class="k2">(</span><span class="n">102</span>, <span class="n">122</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 119</span>  <span class="k1">if</span> <span class="k2">(</span>tile <span class="k3">=</span><span class="k3">=</span> <span class="n">1</span><span class="k2">)</span>
<span class="number"> 120</span>  <span class="k2">{</span>
<span class="number"> 121</span>    walk<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 122</span>    fallIndex <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 123</span>  <span class="k2">}</span>
<span class="number"> 124</span>  <span class="k1">else</span> <span class="k1">if</span> <span class="k2">(</span>tile <span class="k3">=</span><span class="k3">=</span> <span class="n">2</span><span class="k2">)</span>
<span class="number"> 125</span>    mVelX <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 126</span>  <span class="k1">else</span>
<span class="number"> 127</span>    fall<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 128</span><span class="k2">}</span>
<span class="number"> 129</span>
<span class="number"> 130</span><span class="k1">void</span> Player::west<span class="k2">(</span><span class="k2">)</span>
<span class="number"> 131</span><span class="k2">{</span>
<span class="number"> 132</span>  mFacing <span class="k3">=</span> LEFT<span class="k2">;</span>
<span class="number"> 133</span>  <span class="k1">int</span> tile <span class="k3">=</span> collide<span class="k2">(</span><span class="n">32</span>, <span class="n">122</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 134</span>  <span class="k1">if</span> <span class="k2">(</span>tile <span class="k3">=</span><span class="k3">=</span> <span class="n">1</span><span class="k2">)</span>
<span class="number"> 135</span>  <span class="k2">{</span>
<span class="number"> 136</span>    walk<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 137</span>    fallIndex <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 138</span>  <span class="k2">}</span>
<span class="number"> 139</span>  <span class="k1">else</span> <span class="k1">if</span> <span class="k2">(</span>tile <span class="k3">=</span><span class="k3">=</span> <span class="n">2</span><span class="k2">)</span>
<span class="number"> 140</span>    mVelX <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 141</span>  <span class="k1">else</span>
<span class="number"> 142</span>    fall<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 143</span><span class="k2">}</span>
<span class="number"> 144</span>
<span class="number"> 145</span><span class="k1">void</span> Player::none<span class="k2">(</span><span class="k2">)</span>
<span class="number"> 146</span><span class="k2">{</span>
<span class="number"> 147</span>  <span class="k1">if</span> <span class="k2">(</span>mFacing <span class="k3">=</span><span class="k3">=</span> RIGHT<span class="k2">)</span>
<span class="number"> 148</span>  <span class="k2">{</span>
<span class="number"> 149</span>    <span class="k1">int</span> tile <span class="k3">=</span> collide<span class="k2">(</span><span class="n">102</span>,<span class="n">122</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 150</span>    <span class="k1">if</span> <span class="k2">(</span>tile <span class="k3">=</span><span class="k3">=</span> <span class="n">1</span><span class="k2">)</span>
<span class="number"> 151</span>      idle<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 152</span>    <span class="k1">else</span>
<span class="number"> 153</span>      fall<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 154</span>  <span class="k2">}</span>
<span class="number"> 155</span>  <span class="k1">else</span>
<span class="number"> 156</span>  <span class="k2">{</span>
<span class="number"> 157</span>    <span class="k1">int</span> tile <span class="k3">=</span> collide<span class="k2">(</span><span class="n">32</span>,<span class="n">122</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 158</span>    <span class="k1">if</span> <span class="k2">(</span>tile <span class="k3">=</span><span class="k3">=</span> <span class="n">1</span><span class="k2">)</span>
<span class="number"> 159</span>      idle<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 160</span>    <span class="k1">else</span>
<span class="number"> 161</span>      fall<span class="k2">;</span>
<span class="number"> 162</span>  <span class="k2">}</span>
<span class="number"> 163</span><span class="k2">}</span>
<span class="number"> 164</span>
<span class="number"> 165</span><span class="k1">void</span> Player::idle<span class="k2">(</span><span class="k2">)</span>
<span class="number"> 166</span><span class="k2">{</span>
<span class="number"> 167</span>  <span class="k1">if</span> <span class="k2">(</span>idleCount <span class="k3">=</span><span class="k3">=</span> <span class="n">5</span><span class="k2">)</span>
<span class="number"> 168</span>  <span class="k2">{</span>  
<span class="number"> 169</span>    idleCount <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 170</span>    <span class="k1">if</span> <span class="k2">(</span>idleIndex <span class="k3">=</span><span class="k3">=</span> <span class="n">4</span><span class="k2">)</span>
<span class="number"> 171</span>      idleIndex <span class="k3">=</span> <span class="n">1</span><span class="k2">;</span>
<span class="number"> 172</span>    <span class="k1">else</span>
<span class="number"> 173</span>      idleIndex<span class="k3">+</span><span class="k3">+</span><span class="k2">;</span>
<span class="number"> 174</span>  <span class="k2">}</span>
<span class="number"> 175</span>  idleCount<span class="k3">+</span><span class="k3">+</span><span class="k2">;</span>
<span class="number"> 176</span><span class="k2">}</span>
<span class="number"> 177</span>
<span class="number"> 178</span><span class="k1">int</span> collide<span class="k2">(</span><span class="k1">int</span> footX, <span class="k1">int</span> footY<span class="k2">)</span>
<span class="number"> 179</span><span class="k2">{</span>
<span class="number"> 180</span>  <span class="k1">for</span> <span class="k2">(</span>Player::mIter <span class="k3">=</span> mTiles.begin<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span> mIter <span class="k3">!</span><span class="k3">=</span> mTiles.end<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span> <span class="k3">+</span><span class="k3">+</span>iter<span class="k2">)</span>
</div></div><p>

It gets hung up on that last line. Here&#39;s the header:</p><div class="source-code"><div class="toolbar"><span class="button numbers"><b>#</b></span><span class="button select">Select</span><span class="button expand">Expand</span></div><div class="inner"><span class="number">  1</span><span class="c">//#include "entity.h"</span>
<span class="number">  2</span><span class="p">#include &lt;allegro5\allegro.h&gt;</span>
<span class="number">  3</span><span class="p">#include &lt;list&gt;</span>
<span class="number">  4</span><span class="p">#include "globals.h"</span>
<span class="number">  5</span><span class="p">#include "tile.h"</span>
<span class="number">  6</span>
<span class="number">  7</span><span class="k1">enum</span> facing <span class="k2">{</span>RIGHT, LEFT<span class="k2">}</span><span class="k2">;</span>
<span class="number">  8</span>
<span class="number">  9</span><span class="k1">class</span> Player
<span class="number"> 10</span><span class="k2">{</span>
<span class="number"> 11</span>private:
<span class="number"> 12</span>  std::list<span class="k3">&lt;</span>Tile<span class="k3">*</span><span class="k3">&gt;</span> mTiles<span class="k2">;</span>
<span class="number"> 13</span>  std::list<span class="k3">&lt;</span>Tile<span class="k3">*</span><span class="k3">&gt;</span><span class="k2">:</span><span class="k2">:</span>iterator mIter<span class="k2">;</span>
<span class="number"> 14</span>  <span class="k1">int</span> mX, mY, mVelX, mVelY, bottomFrame, topFrame, fallIndex, idleCount, idleIndex<span class="k2">;</span>
<span class="number"> 15</span>  <span class="k1">bool</span> tint, flip, justFell<span class="k2">;</span>
<span class="number"> 16</span>  <span class="k1">int</span> mJumpInts<span class="k2">[</span><span class="n">30</span><span class="k2">]</span><span class="k2">;</span>
<span class="number"> 17</span>  <span class="k1">int</span> mFallInts<span class="k2">[</span><span class="n">30</span><span class="k2">]</span><span class="k2">;</span>
<span class="number"> 18</span>  facing mFacing<span class="k2">;</span>
<span class="number"> 19</span>  direction mDir<span class="k2">;</span>
<span class="number"> 20</span>  <a href="http://www.allegro.cc/manual/ALLEGRO_BITMAP"><span class="a">ALLEGRO_BITMAP</span></a><span class="k3">*</span> mImage<span class="k2">;</span>
<span class="number"> 21</span>  <a href="http://www.allegro.cc/manual/ALLEGRO_COLOR"><span class="a">ALLEGRO_COLOR</span></a> color<span class="k2">;</span>
<span class="number"> 22</span>public:
<span class="number"> 23</span>  <span class="k1">int</span> getVelX<span class="k2">(</span><span class="k2">)</span><span class="k2">{</span><span class="k1">return</span> mVelX<span class="k2">;</span><span class="k2">}</span>
<span class="number"> 24</span>  <span class="k1">int</span> getVelY<span class="k2">(</span><span class="k2">)</span><span class="k2">{</span><span class="k1">return</span> mVelY<span class="k2">;</span><span class="k2">}</span>
<span class="number"> 25</span>  <span class="k1">int</span> collide<span class="k2">(</span><span class="k1">int</span> footX, <span class="k1">int</span> footY<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 26</span>  <span class="k1">void</span> west<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 27</span>  <span class="k1">void</span> none<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 28</span>  <span class="k1">void</span> east<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 29</span>  <span class="k1">void</span> idle<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 30</span>  <span class="k1">void</span> walk<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 31</span>  <span class="k1">void</span> jump<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 32</span>  <span class="k1">void</span> fall<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 33</span>  <span class="k1">void</span> shoot<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 34</span>  <span class="k1">void</span> Initialize<span class="k2">(</span><span class="k1">int</span> x, <span class="k1">int</span> y,  <a href="http://www.allegro.cc/manual/ALLEGRO_BITMAP"><span class="a">ALLEGRO_BITMAP</span></a><span class="k3">*</span> image, std::list<span class="k3">&lt;</span>Tile<span class="k3">*</span><span class="k3">&gt;</span> Tiles, std::list<span class="k3">&lt;</span>Tile<span class="k3">*</span><span class="k3">&gt;</span><span class="k2">:</span><span class="k2">:</span>iterator iter<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 35</span>  <span class="k1">void</span> Update<span class="k2">(</span>direction dir, <a href="http://www.allegro.cc/manual/ALLEGRO_JOYSTICK_STATE"><span class="a">ALLEGRO_JOYSTICK_STATE</span></a> jst<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 36</span>  <span class="k1">void</span> Render<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 37</span>  <span class="k1">bool</span> collide<span class="k2">(</span><span class="k1">int</span> x, <span class="k1">int</span> y, <span class="k1">int</span> width, <span class="k1">int</span> height<span class="k2">)</span><span class="k2">;</span>
</div></div><p>

Please help <img src="http://www.allegro.cc/forums/smileys/grin.gif" alt=";D" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (agonvs)</author>
		<pubDate>Sun, 12 Apr 2015 02:58:17 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>For one, you don&#39;t need to store an iterator (except in cases where you do, but that&#39;s rarer).</p><p>The standard list usage is:
</p><div class="source-code snippet"><div class="inner"><pre><span class="c">//we make it here</span>
<span class="k1">for</span><span class="k2">(</span>std::list<span class="k3">&lt;</span>Player&gt;::iterator itr <span class="k3">=</span> mTiles.begin<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span> itr <span class="k3">!</span><span class="k3">=</span> mTiles.end<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span> itr<span class="k3">+</span><span class="k3">+</span><span class="k2">)</span>
<span class="k2">{</span>
<span class="k2">}</span>
<span class="c">//it goes away here</span>
</pre></div></div><p>

And what are you initializing iter to in the constructor here when you instantiate the class? (in Main, or whereever)
</p><div class="source-code snippet"><div class="inner"><pre><span class="k1">void</span> Player::Initialize<span class="k2">(</span><span class="k1">int</span> x, <span class="k1">int</span> y, <a href="http://www.allegro.cc/manual/ALLEGRO_BITMAP"><span class="a">ALLEGRO_BITMAP</span></a><span class="k3">*</span> image, std::list<span class="k3">&lt;</span>Tile<span class="k3">*</span><span class="k3">&gt;</span> Tiles, std::list<span class="k3">&lt;</span>Tile<span class="k3">*</span><span class="k3">&gt;</span><span class="k2">:</span><span class="k2">:</span>iterator iter<span class="k2">)</span>
</pre></div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Chris Katko)</author>
		<pubDate>Sun, 12 Apr 2015 03:04:41 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>This is initialized to a list of Tile objects (used for the background grid). What I&#39;m trying to do here is create a list inside the class that can be used by the entire class but that can be used to accept a list that is passed in via Initialize, which is where you see the following:</p><p>mTiles = Tiles;<br />mIter = iter;
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (agonvs)</author>
		<pubDate>Sun, 12 Apr 2015 03:41:41 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Maybe I&#39;m wrong and just misunderstanding what you&#39;re doing. I just want to make sure you know you can do this:</p><div class="source-code snippet"><div class="inner"><pre>my_function<span class="k2">(</span>std::list<span class="k3">&lt;</span>int&gt; <span class="k3">*</span>temp<span class="k2">)</span> <span class="c">//or pointer and change the dots to -&gt;</span>
 <span class="k2">{</span>
  <span class="k1">for</span><span class="k2">(</span>std::list<span class="k3">&lt;</span>int&gt;::iterator itr <span class="k3">=</span> temp.begin<span class="k2">(</span><span class="k2">)</span> <span class="k2">;</span> itr <span class="k3">!</span><span class="k3">=</span> temp.end<span class="k2">(</span><span class="k2">)</span> itr<span class="k3">+</span><span class="k3">+</span><span class="k2">)</span>
    <span class="k2">{</span>
    <span class="c">//no need to explicitly pass an iterator, you can generate one.</span>
    <span class="c">//blah</span>
    <span class="k2">}</span>
  <span class="k2">}</span>
 
<span class="k1">int</span> main<span class="k2">(</span><span class="k2">)</span>
  <span class="k2">{</span>
  std::list<span class="k3">&lt;</span>int&gt; my_list<span class="k2">;</span>
  my_function<span class="k2">(</span>my_list<span class="k2">)</span><span class="k2">;</span>  
  <span class="k2">}</span>
</pre></div></div><p>

OH, but I think I know what&#39;s blowing up in your code:
</p><div class="source-code snippet"><div class="inner"><pre><span class="k1">int</span> collide<span class="k2">(</span><span class="k1">int</span> footX, <span class="k1">int</span> footY<span class="k2">)</span>
  <span class="k2">{</span>
  <span class="k1">for</span> <span class="k2">(</span>Player::mIter <span class="k3">=</span> mTiles.begin<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span> mIter <span class="k3">!</span><span class="k3">=</span> mTiles.end<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span> <span class="k3">+</span><span class="k3">+</span>iter<span class="k2">)</span>
</pre></div></div><p>

Collide is NOT a member function, which you may have intended that way, but it would probably also work inside your object as a member function.</p><p>Player::mIter is asking for an iterator to a CLASS TYPE, not an INSTANCE of that class. You CAN have static methods associated with a class type, but it&#39;s most likely not what you want to do here. Static methods are shared by all instantiated objects of that class type, but they can be dangerous, confusing, or useless depending on what you&#39;re doing.</p><p>You want something more akin to:
</p><div class="source-code snippet"><div class="inner"><pre>Player player1<span class="k2">;</span><span class="c">//somewhere</span>

<span class="k1">void</span> collide<span class="k2">(</span><span class="k2">)</span>
<span class="k2">{</span>
<span class="k1">for</span> <span class="k2">(</span>player1.mIter <span class="k3">=</span> mTiles.begin<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span> mIter <span class="k3">!</span><span class="k3">=</span> mTiles.end<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span> <span class="k3">+</span><span class="k3">+</span>iter<span class="k2">)</span>
<span class="c">//...</span>
<span class="k2">}</span>
</pre></div></div><p>

However, it would still be better to have collide() as a member function.
</p><div class="source-code snippet"><div class="inner"><pre>Player player1<span class="k2">;</span><span class="c">//somewhere</span>

<span class="k1">void</span> Player::collide<span class="k2">(</span><span class="k2">)</span>
<span class="k2">{</span>
<span class="c">//NO need for Player::mIter or player1.mIter it's already in our object.</span>
<span class="k1">for</span> <span class="k2">(</span>mIter <span class="k3">=</span> mTiles.begin<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span> mIter <span class="k3">!</span><span class="k3">=</span> mTiles.end<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span> <span class="k3">+</span><span class="k3">+</span>iter<span class="k2">)</span>
<span class="c">//...</span>
<span class="k2">}</span>
</pre></div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Chris Katko)</author>
		<pubDate>Sun, 12 Apr 2015 03:50:50 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title"><a href="http://www.allegro.cc/forums/thread/615279/1012060#target">agonvs</a> said:</div><div class="quote"><p>
</p><div class="source-code"><div class="toolbar"><span class="button numbers"><b>#</b></span><span class="button select">Select</span><span class="button expand">Expand</span></div><div class="inner"><div class="highlight"><span class="number"> 180</span> <span class="k1">for</span> <span class="k2">(</span>Player::mIter <span class="k3">=</span> mTiles.begin<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span> mIter <span class="k3">!</span><span class="k3">=</span> mTiles.end<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span> <span class="k3">+</span><span class="k3">+</span>iter<span class="k2">)</span></div></div></div><p>
</p></div></div><p>
Look carefully at the names of the iterators in each section of the for statement.</p><div class="spoiler"><p>
You&#39;re incrementing <span class="source-code">iter</span> instead of <span class="source-code">mIter</span>, and testing against <span class="source-code">mIter</span>, which never changes, hence the infinite loop.
</p></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Edgar Reynaldo)</author>
		<pubDate>Sun, 12 Apr 2015 03:57:08 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>DUH!!! I didn&#39;t make it a class member function. I&#39;m good now, thanks. <img src="http://www.allegro.cc/forums/smileys/rolleyes.gif" alt="::)" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (agonvs)</author>
		<pubDate>Sun, 12 Apr 2015 04:03:18 +0000</pubDate>
	</item>
</rss>
