我在实施课程时遇到了麻烦.它应该能够从std :: string初始化.所以我写了一个副本(?)构造函数:
CVariable (std::string&, const int p_flags = 0);
Run Code Online (Sandbox Code Playgroud)
我正在尝试制作一个CVariable的对象:
MCXJS::CVariable s_var = (string)"good job";
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
F:\Projekty\MCXJS\src\main.cpp|8|error: conversion from 'std::string' to non-scalar type 'MCXJS::CVariable' requested|
Run Code Online (Sandbox Code Playgroud)
如何解决?
我正在寻找能够完全按照以下方式获得解决方案的解决方案:
MCXJS::CVariable s_var = (string)"good job";
Run Code Online (Sandbox Code Playgroud)
编辑:添加(几乎)完整的源代码:
cvariable.h
#ifndef CVARIABLE_H
#define CVARIABLE_H
#include <string>
#include <sstream>
namespace MCXJS
{
enum VARTYPE
{
STRING = 0,
INT = 1,
FLOAT = 2
};
class CVariable
{
public:
VARTYPE Type () {return m_type;};
std::string& Value () {return m_value;};
bool SetType (VARTYPE);
private:
const …Run Code Online (Sandbox Code Playgroud) 我想制作从互联网上下载页面的程序并对其进行一些解析.第二部分很容易,问题是第一部分.
我想使用URLDownloadToFile()函数.但默认情况下,它不会等待完成下载.MSDN说最后一个参数是一种回调函数,但是我找不到任何关于如何使用它的信息(当它被调用时它必须做什么,甚至它是什么类型的函数).有人可以解释我最后一个参数是什么以及如何使用它(在C++中)让我的应用程序等待?
我在这行中遇到编译错误:
cout << (MenuItems[i].Checkbox ? (MenuItems[i].Value ? txt::mn_yes : txt::mn_no) : MenuItems[i].Value)
Run Code Online (Sandbox Code Playgroud)
错误:
menu.cpp|68|error: invalid conversion from 'int' to 'const char*'
menu.cpp|68|error: initializing argument 1 of 'std::basic_string<_CharT, _Traits, _Alloc>::basic_string(const _CharT*, const _Alloc&) [with _CharT = char, _Traits = std::char_traits<char>, _Alloc = std::allocator<char>]'
Run Code Online (Sandbox Code Playgroud)
MenuItems是以下类的std :: vector:
class CMenuItem
{
public:
string Name;
int Value;
int MinValue, MaxValue;
bool Checkbox;
CMenuItem (string, int, int, int);
CMenuItem (string, bool);
};
Run Code Online (Sandbox Code Playgroud)
mn_yes和mn_no是std :: strings.
编译器是MinGW(与代码:: blocks一起分发的版本).
我需要一些能让我的C++程序下载某个页面的HTML源代码的东西.有人可以推荐我一个图书馆吗?我更喜欢尽可能简单的事情.提前致谢.
我想知道在每个对象中制作舞台非静态引用的好处是什么,而不是使它全局化.因此,我只有解除引用null的问题.但是,必须有Adobe工作人员这样做的原因.那么,有人可以解释一下这种行为吗?当我使用类似下面代码的东西时,我可以遇到什么问题,并且在我需要的阶段使用gStage?
package
{
public var gStage: Stage;
public class Main extends Sprite;
{
public function Main()
{
if (stage)
init();
else
stage.addEventListener (Event.ADDED_TO_STAGE, init);
}
public static function init(): void
{
stage.removeEventListener (Event.ADDED_TO_STAGE, init);
gStage = stage;
}
}
}
Run Code Online (Sandbox Code Playgroud)
顺便说一下,为什么在每个AS3代码示例中我都见过Main扩展Sprite?
我的测试代码有问题.它编译得很好,但是当我尝试调用delegate时,程序崩溃了.
#include "..\libs\FastDelegate\FastDelegate.h"
#include <string>
#include <map>
#include <iostream>
typedef fastdelegate::FastDelegate1 <int, int> FuncPtr;
struct Function
{
FuncPtr Ptr;
int Param;
Function() {};
Function (FuncPtr Ptr_, int Param_): Ptr (Ptr_), Param (Param_) {};
int operator() (int xxx) {return Ptr(xxx);};
};
std::map <std::string, Function> ExternalFuncs;
bool RegisterFunction (const std::string& a, const Function b)
{
ExternalFuncs[a] = b;
return true;
}
int foo (int bar)
{
std::cout << "Jest gites";
return 0;
}
int main()
{
RegisterFunction ("Foo", Function(&foo, 1));
ExternalFuncs ["foo"] …Run Code Online (Sandbox Code Playgroud)