- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我一直收到这个错误,它不允许我编译。谁能帮帮我?
这是用户名密码验证器.cpp
#include "UsernamePasswordValidator.h"
#include <cctype>
#include <iostream>
#include <string>
using namespace std;
UsernamePasswordValidator::UsernamePasswordValidator()
{
myUsername = " ";
myPassword = " ";
my_ValidationFailed = true;
}
void UsernamePasswordValidator::setUsername(string username)
{
myUsername = username;
}
void UsernamePasswordValidator::setUsernameViaCString(char *username)
{
myUsername = username;
}
void UsernamePasswordValidator::setPasswordViaCString(char *password)
{
myPassword = password;
}
bool UsernamePasswordValidator::isValid()
{
int upperCase = 0, numCount = 0, lowerCase = 0;
for (int u = 0; u < myUsername.length(); u++)
{
if ( !(isalnum(myUsername.at(u))) )
{
my_ReasonWhyItFailed = "Username must contain both letters and numbers!";
return (my_ValidationFailed = false);
}
if ( isupper(myUsername.at(u)) )
{
upperCase++;
}
if ( islower(myUsername.at(u)) )
{
lowerCase++;
}
if( isdigit(myUsername.at(u)) )
{
numCount++;
}
}
if (myUsername.length() < 8)
{
my_ReasonWhyItFailed = "The username is too short!\n";
return (my_ValidationFailed = false);
}
else if (upperCase == 0)
{
my_ReasonWhyItFailed = "You need at least one Upper case letter.\n";
return (my_ValidationFailed = false);
}
else if (lowerCase == 0)
{
my_ReasonWhyItFailed = "You need at least one lowercase letter.\n";
return (my_ValidationFailed = false);
}
else if (numCount == 0)
{
my_ReasonWhyItFailed = "The username needs a number.\n";
return (my_ValidationFailed = false);
}
upperCase = lowerCase = numCount = 0;
for (int p = 0; p < myPassword.length(); p++)
{
if ( !(isalnum(myPassword.at(p))) )
{
my_ReasonWhyItFailed = "The password needs letters and numbers.";
return (my_ValidationFailed = false);
}
if ( isupper(myPassword.at(p)) )
{
upperCase++;
}
if ( islower(myPassword.at(p)) )
{
lowerCase++;
}
if( isdigit(myPassword.at(p)) )
{
numCount++;
}
}
if (myPassword.length() < 8)
{
my_ReasonWhyItFailed = "password does not contain enough characters.";
my_ValidationFailed = false;
}
else if (upperCase == 0)
{
my_ReasonWhyItFailed = "password does not contain a uppercase value.";
my_ValidationFailed = false;
}
else if (lowerCase == 0)
{
my_ReasonWhyItFailed = "password does not contain a lowercase value.";
my_ValidationFailed = false;
}
else if (numCount == 0)
{
my_ReasonWhyItFailed = "password does not contain a number.";
my_ValidationFailed = false;
}
else if (myPassword.find(myUsername) != string::npos)
{
my_ReasonWhyItFailed = "password cannot contain username.";
my_ValidationFailed = false;
}
return my_ValidationFailed;
}
string UsernamePasswordValidator::reasonForFailure()
{
return my_ReasonWhyItFailed;
}
void UsernamePasswordValidator::reset()
{
myPassword = "";
myUsername = "";
my_ValidationFailed = true;
}
这是我的 UsernamePasswordValidator.h 文件。
#include <iostream>
#include <cctype>
#include <string>
using namespace std;
class UsernamePasswordValidator
{
public:
UsernamePasswordValidator();
void setUsername(string username);
void setPassword(string password);
void reset();
void setUsernameViaCString(char * username);
void setPasswordViaCString(char * password);
string reasonForFailure();
bool isValid();
private:
string myUsername, myPassword, my_ReasonWhyItFailed;
bool my_ValidationFailed;
};
最后,这是我的代码驱动程序。
#include <iostream>
#include <cctype>
#include <string>
#include "UsernamePasswordValidator.h"
using namespace std;
int main()
{
UsernamePasswordValidator upv;
string user, pass;
char * badpassword = "data ";
char * goodpassword = "goodPassword";
cout << "CS52 Username/Password Validator \n";
cout << "\n Username:\n";
getline( cin, user ); // reads a whole line of input
cout << "\n Password: \n";
getline( cin, pass ); // reads a whole line of input
upv.setUsername( user );
upv.setPassword( pass );
if (upv.isValid() )
{
cout << "The Username/Password combination is valid!" << endl;
}
else
{
cout << upv.reasonForFailure( ) << endl;
}
upv.reset( );
upv.setUsername( user );
upv.setPassword( badpassword );
if (upv.isValid() )
{
cout << "The Username/Password combination is valid!" << endl;
}
else
{
cout << upv.reasonForFailure( ) << endl;
}
return 0;
}
最佳答案
您声明了上述方法但未定义。在链接期间,链接器找不到 setPassword 的定义
在 UsernamePasswordValidator.cpp 中添加以下内容:
void UsernamePasswordValidator::setPassword(string password)
{
myPassword = password;
}
关于c++ - 错误3错误LNK2019 : unresolved external symbol "public: void __thiscall,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34235804/
节点版本:v6.11.0 错误信息: Unable to resolve path to module './coins.json'. (import/no-unresolved) 我还附上错误的屏幕
我的 flutter 应用程序运行良好,直到我停止成功构建的日子 android/app/src/main/kotlin/com/apps/myapp/MainActivity.kt 文件 packa
我在使用 kotlin 版本 1.3.41 的 kotlin 项目中遇到问题 Unresolved reference :我无法找出为什么会出现该问题?。我也降级了 kotlin 版本但没有效果。 当
在编译我的代码时,我收到此错误。 1>MSVCRTD.lib(crtexe.obj):错误 LNK2019:函数 ___tmainCRTStartup 中引用了未解析的外部符号 _main1>C:\U
我一直遇到这两个错误,但我似乎找不到有效的解决方案。 LNK1120: 1 unresolved externals Error 1 error LNK2019: unresolved externa
我想使用 SQLite,但出现 Unresolved -* 错误。以下是我所做工作的总结: 这是三个目录: 源文件 -->include -->src -->sqlite3 我已将以上三个目录全部添加
我在尝试构建时收到以下错误: 1> MSVCRTD.lib(crtexew.obj) : error LNK2019: unresolved external symbol _WinMain@16 r
我在构建程序时不断收到“未解析的外部符号”错误。但是,该程序编译正常。我正在使用 GLFW 和 GLAD 库。 #include #include #include void framebuff
我是谷歌测试框架的新手。这是我的第一个谷歌测试测试项目。我做了像这个网站http://www.bogotobogo.com/cplusplus/google_unit_test_gtest.php这样
当我尝试编译我的代码时,我遇到了两个错误。我已经定义了 win32 控制台应用程序。我什至还没有开始编码。我的配置如下 - 链接器 - 子系统 - 控制台;链接器 - 高级 - 入口点 - 空白。
我尝试构建我的应用程序,但失败了,仅显示一条消息: Failed to resolve: play-services-basement 我的应用程序昨天成功构建。自昨天成功构建以来,没有代码更改。我的
任务是找到所有可表示为两个自然数的开方之和的二值数。我试试这个: func = [sqrt (x) + sqrt (y) | x a -> a mod :: Integral a => a -> a
Kotlin: Unresolved reference: totalFee 我只是在做这个小虚拟程序来练习,但它说totalFee尝试将值打印到屏幕时未解决。我已经看了一段时间了,不知道为什么。da
我正在编写一个小程序来判断字符串数组向前和向后读取是否相同。现在我的程序应该返回 false。我遇到了一些困难,因为当我扫描数组时,我希望第二个 for 循环扫描第一个 for 循环所在的相同索引,但
请问有人可以针对我的问题发布错误更正并经过测试的代码吗?程序确实 - 22.php 具有以下形式。当用户输入并单击“提交”按钮时,结果应从 23.php 中获取并显示在 22.php 上的 div 中
当我编译它时给出错误信息: usimage.cpp Generating Code... Linking... Creating library .\Output/gci2.lib and ob
我有以下项目文件: //connections.cpp #include "stdafx.h" #include "LibraryHeaders.h" #include "FileManager.h"
我正在写一个游戏,但我遇到了一个问题,导致“C++ Unresolved external 问题” ** 我的类(class):** Terrain.h Class Terrain {}; 物理对象.
这个问题不太可能帮助任何 future 的访问者;它只与一个小的地理区域、一个特定的时间点或一个非常狭窄的情况有关,这些情况并不普遍适用于互联网的全局受众。为了帮助使这个问题更广泛地适用,visit
我正在使用 Visual Studio 2012 完成编程原则和实践中的练习。尝试编译下面的源代码时,我遇到了链接器错误: unresolved symbol int foo. 我不明白为什么符号没有
我是一名优秀的程序员,十分优秀!