053
27.11.2016, 14:21 Uhr
Joe1903
|
Zitat von ao: |
Wie oft willst du es noch hören? N-E-I-N
|
Hallo.Ich habe eine Frage zu diesem Code:
C++: |
#include <iostream> #include <string> #include <string.h>
using namespace std;
struct Tnode { char* word; int count; Tnode* left; Tnode* right; };
Tnode* addNode(Tnode* root, string word) { Tnode* node; if (!root) { node = new Tnode; node->word = new char[64+1]; strcpy(node->word, word.c_str()); node->left = 0; node->right = 0; node->count = 1; return (node); } int cmp = strcmp(word.c_str(), root->word); if (cmp < 0) { node = addNode(root->left, word); if(!root->left) { root->left = node; } } else if (cmp > 0) { node = addNode(root->right, word); if(!root->right) { root->right = node; } } else { root->count++; } return (node); } ... int main(int argc, char* argv[]) { Tnode* root = 0; string word;
for(int i = 1; i < argc; i++) { word = string(argv[i]); Tnode* node = addNode(root, word); if (!root) { root = node; } } cout << "Tree:" << endl; printTree(root); cout << "Alphabetical:" << endl; aPrintTree(root); freeTree(root); }
|
Ich möchte hier auf die Klasse string komplett verzichten und stattdessen word direkt als const char* definieren.Wie mache ich das?Ich habe string word durch const char * word ersetzt,kriege aber eine Fehlermeldung,dass const char* nicht links vom "." stehen darf.Kannst du mir evtl. helfen? Dieser Post wurde am 27.11.2016 um 14:22 Uhr von Joe1903 editiert. |