Re: visual c++ 8 (.net 2005) has unresolved external symbol errors
On Sep 26, 1:54 pm, Erik Wikstr=F6m <Erik-wikst...@telia.com> wrote:
On 2007-09-26 03:39, andrey....@gmail.com wrote:
static solver *encode(u8 *arr) {
solver *a = new solver();
pos_t i;
for (i = 0; i < width_sq; ++i) {
/* MAKE SURE that the number is between 1 an=
d 9, inclusive so that
the
* solver does NOT mask 0 because that would=
break function isOK()
and
* hence prevent the solver from reaching a =
solution.
*/
if (width < 10) {
if (arr[i] >= 1 && arr[i] <= wid=
th)
a->set(i, arr[i]);
} else {
if (arr[i] >= 0 && arr[i] < width)
a->set(i + 1, arr[i]);
}
}
return a;
}
solver<cell_t, pos_t, width, width_rt, width_sq, val_mask, zb_len>::
That was a typo line
};
I took a new look at the code, and the line above is where my compiler
gave up, which is no surprise to me. When posting code that gives you
errors, make sure that it is exactly the same as the one that gave the
error. Also, please replace tabs with a few spaces (2-4 will do) since
it will reduce the number of broken lines and increase the readability.
--
Erik Wikstr=F6m
The condensed class (with error-causing code) is:
template <typename cell_t = u16, typename pos_t = u8,
unsigned int width = 9, unsigned int width_rt = 3, int width_sq =
81,
cell_t val_mask = sumOfBits<u16, 9>::value, unsigned int zb_len =
11>
class solver {
public:
static unsigned char *solve (unsigned char *board) {
...
solution = false;
s = s->search();
if (solution) {
...
}
...
}
protected:
static bool solution;
...
solver *search(void) {
...
while (...) {
if (...) {
solution = true;
return this;
}
...
}
}
};
.... refers to code that the error does not apply to