Ik heb volgende test code in vs.net C++ geschreven maar nu heb ik volgend probleem als ik in de functie writeSettings mStaticMembers aanroep geeft intellisense volgende melding "Expression to the left . or ->has a type which could not be resolved". Als ik nu in de functie writeSettings de lijn waar ik de vector declareer weghaal krijg ik wel de functies die in de klasse SettingsManagerStaticMembers zitten. De code compileert overigens correct.
Maar vraag is nu waarom laat intellisense de functies van SettingsManagerStaticMembers zitten niet zien maar compileert u toch correct als ik ze zelf verder aanvul zonder intellisense?
Maar vraag is nu waarom laat intellisense de functies van SettingsManagerStaticMembers zitten niet zien maar compileert u toch correct als ik ze zelf verder aanvul zonder intellisense?
code:
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
| class SettingsManagerStaticMembers;
class SettingsManager {
public :
static SettingsManagerStaticMembers mStaticMembers;
void writeSettings();
void getSettings(char* SettingsName);
typedef struct Settings {
char* settingsname;
char* setting;
};
};
class SettingsManagerStaticMembers
{ public:
vector<SettingsManager::Settings> Member_Values;
};
SettingsManagerStaticMembers SettingsManager::mStaticMembers;
void SettingsManager::writeSettings() {
FILE *SettingsFile = fopen("c:\\test.txt","w");
struct Settings FileSettings;
vector<SettingsManager::Settings>::iterator counter;
for(counter = mStaticMembers.Member_Values.begin();counter != mStaticMembers.Member_Values.end();counter++) {
FileSettings = *counter;
fprintf(SettingsFile,"%s %s\n",FileSettings.settingsname,FileSettings.setting);
}
fclose(SettingsFile);
} |