Я просто попытался создать решатель sudoku, используя C++ (с базовым C), используя связанный список machanism. Делая что я получил ошибку какпреобразование из 'node *' в нескалярный тип 'node', запрошенный в C++
- В функции
node addnode(int, node*)
: Line 29: error: conversion from 'node*' to non-scalar type 'node' requested
- компиляция прервана из-за
-Wfatal-errors
.
В функции node addnode(int, node*)
:
#include <iostream>
using namespace std;
struct node
{
int cellvalue;
int cellpos;
int rowpos;
int colpos;
int blockpos;
node *next;
} cells[81];
struct node addnode (int value,struct node *lastpos)
{
node *newnode;
newnode=new node;
newnode->cellvalue = value;
newnode->cellpos=value;
newnode->rowpos=value%9;
newnode->colpos=value/9;
newnode->blockpos=0;
lastpos->next=newnode;
newnode->next = NULL;
printf("Value : %d", newnode->cellvalue);
lastpos=newnode;
return &lastpos;
}
int main()
{
int i=0,value;
node *header, *lastnodeaddr, *lastpos;
lastnodeaddr=NULL;
for (i=0;i<81;i++)
lastnodeaddr=addnode (i,lastnodeaddr);
}
Тип немного медленнее и меньше ошибки-у следующего раза: P –