powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / переменная ws, c++ из мс экспресс 2009 -
8 сообщений из 8, страница 1 из 1
переменная ws, c++ из мс экспресс 2009 -
    #38486686
Фотография tchingiz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
делю файл на слова и считаю частоту использования слов.
char**ws - это таблица слов.
пока она была локальная - все было хорошо,
стала глобальной - появилась ошибка

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
Source.cpp
Source.cpp(51) : error C2872: 'ws' : ambiguous symbol
        could be 'Source.cpp(17) : char **ws'
        or       'ws'
Source.cpp(58) : error C2872: 'ws' : ambiguous symbol
        could be 'Source.cpp(17) : char **ws'
        or       'ws'
LINK : warning LNK4001: no object files specified; libraries used
libcmtd.lib(crt0.obj) : error LNK2019: unresolved external symbol _main referenced in function ___tmainCRTStartup
a.exe : fatal error LNK1120: 1 unresolved externals

то есть, какой ws уже есть и путается с моей таблицей.
Что это?

пысы
мысли про
про вред глобальных переменных желательно пропустить


Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
//#include"Header.h"
#include <iostream>
#include <ctype.h>
#include<stdio.h>
#include<string.h>

using namespace std;


extern int getword (char*w);
extern int add     (char *ws[], int cnts[], int wsl,char *w);
extern int indexof (char *ws[],             int wsl,char *w);

	
	int *cnts=0;
//	char **wrds=0;
	char **ws=0;           //<---------------




void main(int argc, char **argv)
{

//	char **ws=0;
	int c;
//	int *cnts=0;
	char nextw[50]={0};
	int wsl=0;
	int ind=0;
	int pflag=0;
	char w_sort[50] = {0};

	while((c=getword(nextw))!=EOF)
	{		

		if(isspace(c))
			continue;
		if(ispunct(c))
		{
			if(pflag!=0)
			{
				nextw[0]=c;
				nextw[1]=0;	
			}
			else 
				continue;
		}

	//	ind=indexof(wrds,wsl,nextw);
		ind=indexof(ws,wsl,nextw);     //<------------------

		if(ind>=0)
			(cnts[ind])++;
		else
		{
//			wsl=add(wrds,cnts,wsl,nextw);
			wsl=add(ws,cnts,wsl,nextw);  //<--------------------------
			cerr<<"\nyes "<< wsl;
		}
	}
}

int indexof(char *ws[], int wsl,char *w)
{

	for(int i=0;i<wsl;i++)
	{
		if(strcmp(ws[i],w)==0)
			return i;
	}

	return -1;
}

int add(char *ws[], int *cnts, int wsl,char *w)
{

	int *cnts1=(int *)malloc(sizeof(int)*(wsl+1));
	char **ws1=(char **)malloc(sizeof(char *)*(wsl+1));

	for(int i=0;i<wsl;i++)
	{
		ws1[i]=ws[i];
		cnts1[i]=cnts[i];
	}

	free(cnts);
	cnts=cnts1;
	free(ws);
	ws=ws1;
	fprintf(stderr,"\n--%d", ws);

	cnts[wsl]=1;
	ws[wsl]=(char *)malloc(strlen(w)+1);
	strcpy(ws[wsl],w);
	wsl++;
	return wsl;
}


int getword(char *w)
{
	int c=0;
	int i=0;
	w[0]=0;
	for (i=0;;i++)
	{
		c=getchar();
		if (c==EOF) break;
		else if (ispunct(c))
		{
			if(i>0)
				ungetc(c,stdin);
			break;
		}
		else if (isspace(c))
		{
			if(i>0)
				ungetc(c,stdin);
			break;
		}
		else{
			w[i]=c;
			w[i+1]=0;
		}

	}

	if(i>0)
		c=w[0];
	return c;
}
...
Рейтинг: 0 / 0
переменная ws, c++ из мс экспресс 2009 -
    #38486696
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tchingizто есть, какой ws уже есть и путается с моей таблицей.
Что это?
Ты ошибку внимательно прочитай, тебе с точностью до строки указывается где вторая
переменная объявляется. А первая ws - это параметр.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
переменная ws, c++ из мс экспресс 2009 -
    #38486723
Фотография tchingiz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
// char **wrds=0;
char **ws=0; //<--------------- вот тут.
да
и шо?

вот изменил
//
char **wrds=0;
// char **ws=0; //<--------------- вот тут.

второй переменной нет.
есть только первая, которую нельзя переконвертить к чар **.


Source.cpp(52) : error C2664: 'indexof' : cannot convert parameter 1 from
'overloaded-function' to 'char *[]'

кто такая оверлоадет функция и где она задается?
...
Рейтинг: 0 / 0
переменная ws, c++ из мс экспресс 2009 -
    #38486752
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tchingizкто такая оверлоадет функция и где она задается?
Отсюда не видно что ты там за хрень пытаешься функции скормить в 52-й строке.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
переменная ws, c++ из мс экспресс 2009 -
    #38486755
Фотография tchingiz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
хрень выглядит как ws
и выделена стрелочкой в первом посте
40: if(ispunct(c))
41: {
42: if(pflag!=0)
43: {
44: nextw[0]=c;
45: nextw[1]=0;
46: }
47: else
48: continue;
49: }
51: // ind=indexof(wrds,wsl,nextw);
52: ind=indexof(ws,wsl,nextw); //<------------------
54: if(ind>=0)
55: (cnts[ind])++;
56: else
...
Рейтинг: 0 / 0
переменная ws, c++ из мс экспресс 2009 -
    #38486773
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tchingizхрень выглядит как ws
И является этим: http://msdn.microsoft.com/en-us/library/vstudio/db4fefz1.aspx
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
переменная ws, c++ из мс экспресс 2009 -
    #38486791
Фотография tchingiz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
сенкс
...
Рейтинг: 0 / 0
переменная ws, c++ из мс экспресс 2009 -
    #38493558
Фотография tchingiz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл
оператор разрешения области видимости надо
Код: plaintext
1.
	 ind=indexof(::ws,wsl,nextw);
и все будет хорошо
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / переменная ws, c++ из мс экспресс 2009 -
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]