问题列表 - 第10705页

为什么隐式转换成员函数重载按返回类型工作,而普通函数不允许这样做?

C++不允许基于返回类型的方法的多态性.但是,当重载隐式转换成员函数时,这似乎是可能的.

有谁知道为什么?我认为运算符在内部处理方式.

编辑:这是一个例子:

struct func {
    operator string() { return "1";}
    operator int() { return 2; }
};

int main( ) {
    int x    = func(); // calls int version
    string y = func(); // calls string version
    double d = func(); // calls int version
    cout << func() << endl; // calls int version
}
Run Code Online (Sandbox Code Playgroud)

c++ polymorphism implicit-conversion

6
推荐指数
1
解决办法
1503
查看次数

Javascript随机数?

我有以下脚本:

Timer=0;
function countdown(auctionid){
    var auctions;
    var divs;

    Timer=Timer+1;

    if((Timer%10=="0")||(Timer=="1")){
        $.get("current.php", {
                id:auctionid
            },
            function(data){
                auctions=data.split("||");
                for(n=0;n<=auctions.length;n++){
                    if(auctions[n] != undefined){
                        divis=auctions[n].split("##");

                        $('#futu'+divis[0]).html(divis[1]);
                    }
                }
            }
        );
    }

    var cauctionid="auctionid";
    var tauctions=auctionid.split("|");
    for(i=0;i<=tauctions.length;i++){
        if(tauctions[i] != undefined){
            var dd=$('#futu'+tauctions[i]).text();
            var cdd=dd-1;
            $('#futu'+tauctions[i]).html(cdd);

            dd=dd*1000;
            dday=Math.floor(dd/(60*60*1000*24)*1)
            dhour=Math.floor(dd/(60*60*1000)*1)
            dmin=Math.floor((dd%(60*60*1000))/(60*1000)*1)
            dsec=Math.floor(((dd%(60*60*1000))%(60*1000))/1000*1)

            if(dday==0&&dhour==0&&dmin==0&&dsec==0){
                $('#Bid'+tauctions[i]).html("SOLD");
            //return
            }
            if(dhour <=9){
                dhour = "0"+dhour;
            }
            if(dmin <=9){
                dmin = "0"+dmin;
            }
            if(dsec <=9){
                dsec = "0"+dsec;
            }

            if(dd>=1000){
                var valll=dhour+":"+dmin+":"+dsec;
            }

            if(dd<1000){
                var valll="00:00:00";
            }

            $('#Bid'+tauctions[i]).html(valll);
        }
    }
    refreshID=setTimeout("countdown('"+auctionid+"')",1000);
} …
Run Code Online (Sandbox Code Playgroud)

javascript random

16
推荐指数
2
解决办法
2万
查看次数

STL vector reserve()和copy()

问候,

我试图使用以下2个缩写的代码行(从下面的完整测试应用程序)执行从一个向量(vec1)到另一个向量(vec2)的副本:

vec2.reserve( vec1.size() );
copy(vec1.begin(), vec1.end(), vec2.begin());
Run Code Online (Sandbox Code Playgroud)

虽然对vec2的调用设置了向量vec2的容量,但是将数据复制到vec2似乎没有填写从vec1到vec2的值.

用push_back()调用替换copy()函数按预期工作.

我在这里错过了什么?

谢谢你的帮助.然后是结果输出的vectest.cpp测试程序.

编译器:关于cygwin的gcc 3.4.4.

纳特

/**
 * vectest.cpp
 */

#include <iostream>
#include <vector>

using namespace std;

int main()
{
    vector<int> vec1;
    vector<int> vec2;

    vec1.push_back(1);
    vec1.push_back(2);
    vec1.push_back(3);
    vec1.push_back(4);
    vec1.push_back(5);
    vec1.push_back(6);
    vec1.push_back(7);

    vec2.reserve( vec1.size() );
    copy(vec1.begin(), vec1.end(), vec2.begin());

    cout << "vec1.size()     = " << vec1.size() << endl;
    cout << "vec1.capacity() = " << vec1.capacity() << endl;

    cout << "vec1: ";
    for( vector<int>::const_iterator iter = vec1.begin(); iter < vec1.end(); ++iter ) {
        cout …
Run Code Online (Sandbox Code Playgroud)

c++ stl vector stl-algorithm

18
推荐指数
3
解决办法
2万
查看次数

NSSetUncaughtExceptionHandler无法捕获iPhone上的所有错误

我正在使用http://code.google.com/p/google-toolbox-for-mac中的 GTMStackTrace .

我需要一种方法来测试最终用户在应用程序崩溃时向我发送错误.我知道如何将数据发送到我的网站,但问题是如何捕获所有未处理的错误.

我有这个代码:

void exceptionHandler(NSException *exception) {
    NSLog(@"%@", [exception reason]);
    NSLog(@"%@", [exception userInfo]);
    NSLog(@"%@", GTMStackTraceFromException(exception));

    UIAlertView *alert = [[UIAlertView alloc]
                          initWithTitle:NSLocalizedString(@"Error unexpected",@"Info: Can't save record")
                          message:GTMStackTraceFromException(exception) delegate:nil 
                          cancelButtonTitle:NSLocalizedString(@"Ok",@"Button: Ok") otherButtonTitles:nil];
    [alert show];
    [alert release];    
}

int main(int argc, char *argv[]) {
    //For crash report..
    NSSetUncaughtExceptionHandler(&exceptionHandler);
    //Normal code...
    NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
    int retVal = UIApplicationMain(argc, argv, nil, nil);
    [pool release];
    return retVal;
}
Run Code Online (Sandbox Code Playgroud)

然而,事情不是抓了很多的错误,像一个坏的版本,一个BAD ACCES等,和App消失.我有2个问题,其中目前尚不清楚为什么happend和最终用户有没有什么要说的线索.

(例如,释放两次相同的var不能捕获)

那么,如何我得到的所有讨厌的错误,从而使最终用户简单的给我发一份崩溃报告吗?

iphone crash error-handling

9
推荐指数
1
解决办法
2万
查看次数

将字符串列表转换为单个连接字符串的最快方法?

我有一些LINQ代码生成一个字符串列表,如下所示:

var data = from a in someOtherList
           orderby a
           select FunctionThatReturnsString(a);
Run Code Online (Sandbox Code Playgroud)

如何将该字符串列表转换为一个大的连接字符串?假设数据包含以下条目:

"Some "
"resulting "
"data here."
Run Code Online (Sandbox Code Playgroud)

我应该得到一个看起来像这样的字符串:

"Some resulting data here."
Run Code Online (Sandbox Code Playgroud)

我该怎么办?我想到了这个:

StringBuilder sb = new StringBuilder();
data.ToList().ForEach(s => sb.Append(s));
string result = sb.ToString();
Run Code Online (Sandbox Code Playgroud)

但这似乎并不合适.如果它是正确的解决方案,我将如何将其转换为扩展方法?

c# string extension-methods linq-to-objects

9
推荐指数
2
解决办法
1万
查看次数

GWT URL参数

使用URL参数的正确方法是什么?

我的URL是这样的:http:// localhost:8080 /#pg5?testing = abc

在我的代码中,我试图使用这行代码获得测试的价值:

String value = com.google.gwt.user.client.Window.Location.getParameter("testing");
Run Code Online (Sandbox Code Playgroud)

不幸的是,所有这一切都将我的字符串设置为"undefined".

我想也许它没有得到正确的URL,但这段代码返回正确的URL:

String value = com.google.gwt.user.client.Window.Location.getHref();
Run Code Online (Sandbox Code Playgroud)

我知道我可以解析url以获取我的参数,但我认为这就是getParamerter()的用途.

java url gwt

8
推荐指数
1
解决办法
1万
查看次数

是否有任何等效的函数返回PHP中位置"X"的字符?

是否有任何等效的函数返回XPHP 中的位置字符?

我浏览了文档但找不到任何文档.我正在寻找类似的东西:

$charAtPosition20 = strCharAt(20, $myString);
Run Code Online (Sandbox Code Playgroud)

php string

9
推荐指数
2
解决办法
7476
查看次数

MySQL查询语法错误

我收到以下错误,我花了几个小时看着它,无法弄清楚为什么!

错误:您的SQL语法有错误; 查看与您的MySQL服务器版本对应的手册,以便在'primary ='doej2'附近使用正确的语法,在第1行查找辅助='1'WHERE id ='2''

这是我的代码:

<?php
if (isset($_POST[Edit])){

$id = $_POST['id'];
$primary = $_POST['primary'];
$secondary = $_POST['secondary'];

$query = mysql_query("UPDATE eventcal SET primary='$primary', secondary='$secondary' WHERE id='$id'");

if (!$query) {
  $_SESSION['alert'] = 'ERROR: ' . mysql_error();
}

}?>
Run Code Online (Sandbox Code Playgroud)

这是eventcal表的表结构:

 CREATE TABLE `eventcal` (
 `id` int(10) unsigned NOT NULL auto_increment,
 `region` tinyint(3) unsigned NOT NULL,
 `primary` varchar(25) NOT NULL,
 `secondary` tinyint(1) NOT NULL,
 `eventDate` date NOT NULL,
 PRIMARY KEY  (`id`),
 KEY `primary_2` (`primary`),
 KEY `secondary` (`secondary`),
 CONSTRAINT `eventcal_ibfk_1` FOREIGN KEY …
Run Code Online (Sandbox Code Playgroud)

php mysql syntax-error

0
推荐指数
1
解决办法
266
查看次数

SQL Plus和"常规"SQL之间的区别?

我是Oracle平台的新手(主要使用MySQL,还有一些Postgres和SQL Server).我最近发现了以下声明

DESC TABLE_NAME;
Run Code Online (Sandbox Code Playgroud)

只能用于我用来测试查询的SQL*Plus工具.当我使用PHP的标准函数连接到oracle数据库时,它将无法工作.我需要使用类似的东西

SELECT * FROM USER_TAB_COLUMNS WHERE TABLE_NAME = 'TABLE_NAME'
Run Code Online (Sandbox Code Playgroud)

代替.

据我所知,这是因为"DESC"语句是SQL*Plus应用程序中的附加组件.

我的问题是

  1. 我的理解是正确的,还是有更微妙的事情发生?
  2. SQL*Plus有哪些其他特殊功能?
  3. 在我加快Oracle的速度时,是否有办法关闭这些特殊功能?
  4. 对于来自该平台的vetrans的Oracle newb的任何其他一般建议表示赞赏.

php sql oracle sqlplus

4
推荐指数
1
解决办法
1299
查看次数

使用jquery获取在链接图像上单击的准确位置

我正在开发一个应用程序,允许通过点击直接标记照片(如Facebook,flickr等).但是,我似乎无法为照片上的点击注册正确的坐标.问题是x坐标似乎是浏览器窗口内(而不是照片内)点击的绝对x距离,而y坐标通常是负的或非常小(靠近顶部的负值,靠近底部的小值).这些是我在左上角附近点击时得到的值(应该注册为0或者接近0:"x"=>"219","y"=>" - 311"...... 219似乎是正确的测量距浏览器窗口左侧的距离,但距离应在照片区域内)

我目前正在使用常规链接(链接包含其他相关照片数据)捕获照片上的点击事件和坐标,并在将其传递给我的rails应用程序之前进行数学运算(jquery文档中使用的相同计算).我怀疑这个方法与错误的值有很大关系,尽管我怀疑数学或某些css怪可能有问题.在任何一种情况下,我都绝对是难以置信的.

JS:

$(document).ready(function(){
clickTag();
Run Code Online (Sandbox Code Playgroud)

});

function clickTag(){
   $("#taggable").click(function(e){
        var x = e.pageX - this.offsetLeft;
        var y = e.pageY - this.offsetTop;
        var url = $(this).attr("href");
        courl = url + '&x=' + x + '&y=' + y;
      $.ajax({
        type:"GET",
        url: courl,
        dataType:"script"
        });
        return false;
   }); 
}
Run Code Online (Sandbox Code Playgroud)

CSS:

`<div class="content">
    <div id="image_container" style="position:relative;width:405px;float:left;height:600px;>
        <a href="/tags/new_xy?look_id=188&amp;photo_id=1150" id="taggable" style="position:relative;top:0;left:0px;"><img alt="taggable_image" src="taggable_image.jpg" /></a>
    <div class="tags" id="tags"></div>
    </div>
</div>`
Run Code Online (Sandbox Code Playgroud)

javascript ajax jquery

7
推荐指数
1
解决办法
1万
查看次数