could anyone describe to me why I'm getting link error here? Basically I'm trying to write my own fixed array data structure. Thanks in advance! Getting these errors:  Error LNK1120 2 unresolved externals  Array    Error  LNK2019 unresolved external symbol &quot;public: int &amp; __thiscall Array&lt;int,5&gt;::operator[](unsigned int)&quot; (??A?$Array@H$04@@QAEAAHI@Z) referenced in function _main  Array    Error  LNK2019 unresolved external symbol &quot;public: unsigned int __thiscall Array&lt;int,5&gt;::Size(void)const &quot; (?Size@?$Array@H$04@@QBEIXZ) referenced in function _main   Array  Array.h #pragma once template&lt;typename T, size_t S&gt; class Array { public:     constexpr size_t Size() const;      T&amp; operator[](size_t index);      const T&amp; operator[](size_t index) const;      T* Data();      const T* Data() const; private:     T m_Data[S]; };  Array.cpp #include &quot;Array.h&quot;  template&lt;typename T, size_t S&gt; constexpr size_t Array&lt;T, S&gt;::Size() const {     return size_t(); }  template&lt;typename T, size_t S&gt; T&amp; Array&lt;T, S&gt;::operator[](size_t index) {     return m_Data[index]; }  template&lt;typename T, size_t S&gt; const T&amp; Array&lt;T, S&gt;::operator[](size_t index) const {     return m_Data[index]; }  template&lt;typename T, size_t S&gt; T* Array&lt;T, S&gt;::Data() {     return m_Data; }  template&lt;typename T, size_t S&gt; const T* Array&lt;T, S&gt;::Data() const {     return m_Data; }  Main.cpp #include &quot;Array.h&quot; #include &lt;iostream&gt;  int main() {      int size = 5;     Array&lt;int, 5&gt; data;      for (size_t i = 0; i &lt; data.Size(); i++) {         data[i] = 2;         std::cout &lt;&lt; data[i] &lt;&lt; std::endl;     }          std::cin.get(); }
341
Quote from :     The only portable way of using templates at the moment is to implement them in header files by using inline functions.   Why is this?  (Clarification: header files are not the only portable solution. But they are the most convenient portable solution.)
81821
In the  library, they are overloading the () operator.  Is this a convention in C++? For callbacks, etc.?  I have seen this in code of a co-worker (who happens to be a big Boost fan). Of all the Boost goodness out there, this has only led to confusion for me.  Any insight as to the reason for this overload?
701
Is there a reason why passing a reference to a std::map as const causes the [] operator to break? I get this compiler error (gcc 4.2) when I use const:     error: no match for ‘operator[]’ in   ‘map[name]’   Here's the function prototype:  void func(const char ch, std::string &amp;str, const std::map&lt;std::string, std::string&gt; &amp;map);   And, I should mention that there is no problem when I remove the const keyword in front of std::map.  If I've been instructed correctly, the [] operator will actually insert a new pair into the map if it doesn't find the key, which would of course explain why this happens, but I can't imagine that this would ever be acceptable behavior.  If there is a better method, like using find instead of [], I'd appreciate it. I can't seem to get find to work either though... I receive const mismatched iterator errors.
7923
template&lt;typename T, size_t n&gt; size_t array_size(const T (&amp;)[n]) {     return n; }   The part that I don't get is the parameters for this template function. What happens with the array when I pass it through there that gives n as the number of elements in the array?
15725
I've been getting this undefined symbol building with this command line:  $ gcc test.cpp Undefined symbols:   "___gxx_personality_v0", referenced from:   etc...   test.cpp is simple and should build fine.  What is the deal?
3825
I am simply trying to return the rows from a table in my db but i keep getting this error thrown back at me no matter what I do "Fatal error: Unsupported operand types in C:\xampp\htdocs\d7\includes\form.inc on line 1009". Am I missing a argument or something?  This is my function  Hook menu  function auto_form_menu() { $items = array(); $items['admin/config/auto_form'] = array(     'title' =&gt; 'My Module',     'description' =&gt; 'description',     'page callback' =&gt; 'drupal_get_form',     'page arguments' =&gt; array('auto_form_records'),     'access arguments' =&gt; array('administer site configuration'),     'file' =&gt; 'auto_form.admin.inc' );  $items['admin/config/auto_form/manage'] = array(     'title' =&gt; 'My Module',     'type' =&gt; MENU_DEFAULT_LOCAL_TASK,     'description' =&gt; 'description',     'weight' =&gt; -10, ); return $items; }   'auto_form.admin.inc'  function auto_form_records() {   $header = array('First Name', 'Last Name');    $dbresult = db_query("SELECT first, last FROM {auto}");      $rows = array();     foreach ($dbresult as $dbrow) {         $rows[] = array(         $dbrow-&gt;first,         $dbrow-&gt;last       );     }     return $output = theme('table', array('header' =&gt; $header, 'rows' =&gt; $rows)); }   Updated Code:  Any help is appreciated seeing how I am completely lost on figuring this out.
33360
OK, I've been staring at this for an hour.  I know there's an error in this frame, as the document compiles fine if I put \end{document} in the frame before this.  But this frame gives an error   File ended while scanning use of \next   Where is it?????  \begin{frame}[fragile] \frametitle{PROC TEMPLATE for a fancy graph (part 1)} \begin{alltt} proc template;  define statgraph scatdens2;  begingraph;   *BEGIN DEFINING THE GRAPH;    entrytitle "Scatter plot with density plots";     *CREATE A TITLE;    layout lattice/columns = 2 rows = 2     columnweights = (.8 .2) rowweights = (.8 .2)       columndatarange = union rowdatarange = union;    *LAYOUT LATTICE...SETS UP A GRID OF GRAPHS;    *COLUMNWEIGHTS AND ROWWEIGHTS SETS     THE RELATIVE SIZE OF THE INDIVIDUAL COLUMNS AND ROWS;  \end{alltt}  \end{frame}
123746
I have a problem compiling the following document.  First, I have a file macros.sty that consists of :  \newcommand{\test}{ \xymatrix@R=0mm{x} }   Then, I have an auxiliary file out.aux that consists of :  \test   Finally, the main file is :  \documentclass{article} \usepackage[all]{xy} \usepackage{macros} \begin{document} \input{out.aux} \end{document}   The error message is :  ./out.aux:1: Undefined control sequence. \xymatrix@R -&gt;\Addop@@                     \xymatrixrowsep@ \dimen@ii    Note that if you remove the R=0mm, the problem no longer holds.  Is that a bug ?  It is very strange because I remember to have already used a command similar to \test in an input file without any problem.  Does it come from my distribution ?  Thank you :)
21989
Very simply put:  I have a class that consists mostly of static public members, so I can group similar functions together that still have to be called from other classes/functions.  Anyway, I have defined two static unsigned char variables in my class public scope, when I try to modify these values in the same class' constructor, I am getting an "unresolved external symbol" error at compilation.  class test  { public:     static unsigned char X;     static unsigned char Y;      ...      test(); };  test::test()  {     X = 1;     Y = 2; }   I'm new to C++ so go easy on me. Why can't I do this?
83585
I think I've got it down to the most basic case:  int main(int argc, char ** argv) {   int * arr;    foo(arr);   printf("car[3]=%d\n",arr[3]);   free (arr);   return 1; }  void foo(int * arr) {   arr = (int*) malloc( sizeof(int)*25 );   arr[3] = 69; }   The output is this:  &gt; ./a.out   car[3]=-1869558540  a.out(4100) malloc: *** error for object 0x8fe01037: Non-aligned pointer                          being freed  *** set a breakpoint in malloc_error_break to debug &gt;   If anyone can shed light on where my understanding is failing, it'd be greatly appreciated.
56384
When declaring a template, I am used to having this kind of code:  template &lt;class T&gt;   But , they used:  template &lt;unsigned int N&gt;   I checked that it compiles. But what does it mean? Is it a non-type parameter? And if so, how can we have a template without any type parameter?
109393
Consider the following code:  template&lt;class T&gt; class Foo { public:   Foo() { a = 1; }  protected:   int a; };  template&lt;class T&gt; class Bar : public Foo&lt;T&gt; { public:   Bar() { b = 4; };    int Perna(int u);  protected:   int b;  };  template&lt;class T&gt; int Bar&lt;T&gt;::Perna(int u)  {    int c = Foo&lt;T&gt;::a * 4; // This works   return (a + b) * u;    // This doesn't }   g++ 3.4.6, 4.3.2 and 4.1.2 give error   test.cpp: In member function `int Bar&lt;T&gt;::Perna(int)': test.cpp:25: error: `a' was not declared in this scope   g++ 2.96 and MSVC 6, 7, 7.1, 8 and 9 accept it, as do (at least) older Intel and SGI c++ compilers.   Do the new Gnu C++ compiler obey the standard or not? If they do, what is the rationale behind that inheriting class is not able to see a protected inherited member variable?  Also, if there's  int A() { return a; }    in Foo, I get error  test.cpp:25: error: there are no arguments to A that depend on a template parameter, so a declaration of A must be available test.cpp:25: error: (if you use -fpermissiveâ, G++ will accept your code, but allowing the use of an undeclared name is deprecated)   when I try to use it in a member function of Bar. I find that curious as well: Bar inherits Foo, so I think it's obvious that A() in scope of Bar is Foo::A().
50369
I was getting scope errors on a commutative diagram, and adding {} inside the quote marks eliminated the error. Why and under what circumstances are they needed.  This fails:   \ar[d, "\operatorname{g}_{\sigma_\beta}, \beta \prec \Beta_\gamma"]   This works:   \ar[d, "{\operatorname{g}_{\sigma_\beta}, \beta \prec \Beta_\gamma}"]
30635
I'm a C++ newbie, but I wasn't able to find the answer to this (most likely trivial) question online.  I am having some trouble compiling some code where two classes include each other.  To begin, should my #include statements go inside or outside of my macros?  In practice, this hasn't seemed to matter.  However, in this particular case, I am having trouble.  Putting the #include statements outside of the macros causes the compiler to recurse and gives me "#include nested too deeply" errors.  This seems to makes sense to me since neither class has been fully defined before #include has been invoked.  However, strangely, when I try to put them inside, I am unable to declare a type of one of the classes, for it is not recognized.  Here is, in essence, what I'm trying to compile:  A.h  #ifndef A_H_ #define A_H_  #include "B.h"  class A {     private:         B b;      public:         A() : b(*this) {} };  #endif /*A_H_*/   B.h  #ifndef B_H_ #define B_H_  #include "A.h"  class B {     private:             A&amp; a;      public:         B(A&amp; a) : a(a) {}  };  #endif /*B_H_*/   main.cpp  #include "A.h"  int main() {     A a; }   If it makes a difference, I am using g++ 4.3.2.  And just to be clear, in general, where should #include statements go?  I have always seen them go outside of the macros, but the scenario I described clearly seems to break this principle.  Thanks to any helpers in advance!  Please allow me to clarify my intent if I have made any silly mistakes!
7842
I notice that modern C and C++ code seems to use size_t instead of int/unsigned int pretty much everywhere - from parameters for C string functions to the STL.  I am curious as to the reason for this and the benefits it brings.
21871
I am trying to pass a reference to a two-dimensional array to a function in C++. I know the size of both dimensions at compile time. Here is what I have right now:  const int board_width = 80; const int board_height = 80; void do_something(int[board_width][board_height]&amp; array);  //function prototype   But this doesn't work. I get this error from g++:  error: expected ‘,’ or ‘...’ before ‘*’ token   What does this error mean, and how can I fix it?
113468
I am working with an open-source UNIX tool that is implemented in C++, and I need to change some code to get it to do what I want. I would like to make the smallest possible change in hopes of getting my patch accepted upstream. Solutions that are implementable in standard C++ and do not create more external dependencies are preferred.  Here is my problem. I have a C++ class -- let's call it "A" -- that currently uses fprintf() to print its heavily formatted data structures to a file pointer. In its print function, it also recursively calls the identically defined print functions of several member classes ("B" is an example). There is another class C that has a member std::string "foo" that needs to be set to the print() results of an instance of A. Think of it as a to_str() member function for A.  In pseudocode:  class A { public:   ...    void print(FILE* f);   B b;    ...   };  ...  void A::print(FILE *f) {   std::string s = "stuff";   fprintf(f, "some %s", s);   b.print(f); }  class C {   ...   std::string foo;   bool set_foo(std::str);   ... }  ...  A a = new A(); C c = new C();  ...  // wish i knew how to write A's to_str() c.set_foo(a.to_str());   I should mention that C is fairly stable, but A and B (and the rest of A's dependents) are in a state of flux, so the less code changes necessary the better. The current print(FILE* F) interface also needs to be preserved. I have considered several approaches to implementing A::to_str(), each with advantages and disadvantages:   Change the calls to fprintf() to sprintf()   I wouldn't have to rewrite any format strings print() could be reimplemented as: fprint(f, this.to_str()); But I would need to manually allocate char[]s, merge a lot of c strings , and finally convert the character array to a std::string  Try to catch the results of a.print() in a string stream   I would have to convert all of the format strings to &lt;&lt; output format. There are hundreds of fprintf()s to convert :-{ print() would have to be rewritten because there is no standard way that I know of to create an output stream from a UNIX file handle (though ).  Use Boost's string    More external dependencies. Yuck. Format's syntax is different enough from printf() to be annoying:    printf(format_str, args) -> cout &lt;&lt; boost::format(format_str) % arg1 % arg2 % etc Use Qt's    A different external dependency.    So, have I exhausted all possible options? If so, which do you think is my best bet? If not, what have I overlooked?  Thanks.